preg_replace不工作或我做错了吗?

时间:2012-01-03 04:25:43

标签: php regex preg-replace

我将此作为preg_replace数组

的一部分
// CENTER ITEMS
$pattern[5] = '/\[center\](.*?)\[\/center\]/i';
$replace[5] = "<div class=\"centerText\">$1</div>";

只要找到的东西就像

一样

[center]lol[/center]

但如果文字就像

[center]hello

my name is steve [/center]

它不起作用怎么解决这个问题?

由于

1 个答案:

答案 0 :(得分:1)

添加“s”修饰符,其中包含匹配文本中的换行符。

  

s(PCRE_DOTALL)如果设置了此修饰符,则模式中的点元字符将匹配所有字符,包括换行符。没有它,   新线被排除在外。此修饰符等效于Perl's / s   修改。诸如[^ a]的否定类总是匹配换行符   字符,与此修饰符的设置无关。

http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php