preg_replace不工作或我做错了


preg_replace not working or am I doing it wrong?

我把它作为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]

它不工作,我怎么解决这个问题?

谢谢

添加"s"修饰符,它将在匹配文本中包含换行符。

s (PCRE_DOTALL)如果设置了此修饰符,则模式中的点元字符匹配所有字符,包括换行符。没有它,不包括换行符。这个修饰符相当于Perl的/s修饰符。像[^ A]这样的负类总是匹配换行符字符,与此修饰符的设置无关。

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