php - preg_replace正在留下两个空白

  显示原文与译文双语对照的内容
0 0

我使用preg_replace删除不需要的内容,但它正在工作,但它正在离开 2空间,所以。

 $content = '[content I want deleted including square brackets] this would be content that I want left!';
 $result = preg_replace('`[[^]]*]`','',$content);
 echo $result;

上生成了以下("__"表示两个空格

__this是我想要的内容 !

结果应该是。

这将是我想要的内容 !

如果没有前面的两个空格,谁能告诉我哪里出错了。 谢谢。

时间:原作者:5个回答

0 0

不确定你的代码,但我测试了这个工作

$content = '[content __I want deleted including square brackets] this would be content that I want left!';
 $result = preg_replace('#[([^]]*)]#is','',$content);
 echo $result;

( 我使用"是"因为我总是忘记 Pattern 修饰符的意思,它们总是很好的,如果你不知道 http://php-regex.blogspot.it/) 。

原作者:
0 0

在 正规表达式的末尾添加可选的空格:

$content = '[content I want deleted including square brackets] this would be content that I want left!';
$result = preg_replace('`[[^]]*]s*`', '', $content);
echo $result;

这给出了:

this would be content that I want left!

最初没有空间。

原作者:
...