我有两个javascript替换命令,可以完美地工作。我需要让它们在PHP中运行。
var body = body.replace(/\n\n<blockquote>/g, '<blockquote>');
var body = body.replace(/<\/blockquote>\n\n/g, '<\/blockquote>');
我尝试了许多不同的正则表达式和许多str_replace,但是所有这些都失败了。我认为可行的是下面,但他们没有:
$body = preg_replace('/\n+<blockquote>/gi', '<blockquote>', $body);
$body = preg_replace('/</blockquote>\\n+/gi', '</blockquote>', $body);
$body = str_replace( "\n\n<blockquote>", "<blockquote>", $body);
$body = str_replace( "<blockquote>\n\n", "</blockquote>", $body);
基本上,我只需要删除围绕blockquote标签的两个换行符。是的,我已经确认他们是新行,而不是回车。
提前致谢!
答案 0 :(得分:1)
您在上次通话中错过了/
:
$body = str_replace("</blockquote>\n\n", "</blockquote>", $body);
使用此修复程序,您的str_replace解决方案应该可以正常工作。我注意到你在正则表达式中使用i
修饰符。也许您想使用str_ireplace来进行不区分大小写的替换。
答案 1 :(得分:0)
我认为代码是正确的,问题可能是标记之后或之前的换行符之外的字符。 \n
可能在那里,但我很确定你也可能有一些空格。
用于调试目的尝试执行此操作
替换新行
$ body = str_replace(“\ n”,' - newline--',$ body);
替换你的空白区域。
$ body = str_replace(“”,' - whitespace--',$ body);
呼应身体
echo $ body;
如果你有任何东西,你现在会注意到它。 祝你好运:)