backslash disappears in <pre>
|Reported by:||bzend||Owned by:||anonymous|
|Severity:||normal||Keywords:||pre, code, backslash, escape, unescape|
Posting code on my blog, I realized that
(\n and \t are messed up, \" is not). This only occurs with the <pre> tag - <code> and <kbd> work just fine.
I tried to locate the source of the problem, and I tracked it down to wpautop (in functions-formatting.php), where in the end there is a line
$pee = preg_replace('!(<pre.*?>)(.*?)</pre>!ise', " stripslashes('$1') . stripslashes(clean_pre('$2')) . '</pre>' ", $pee);
The problem is obviously in stripslashes(clean_pre('$2')).
I did't get into the details, but I don't see why whould <pre> tags need to be cleaned at all: isn't everything between <pre> and </pre> supposed to remain untouched? - in my view, that's the whole point of <pre>!
Change History (6)
- Summary changed from backslash dissapears in <pre> to backslash disappears in <pre>