带有HTML标记的preg_replace分隔符

时间:2011-03-20 00:43:57

标签: php preg-replace delimiter

我想在php应用程序中使用某种BB代码:如果你在两个“slashdots”(例如:To /.be/. or /.not/. to be!)之间编写文本,它将显示为 italic 。 我目前正在使用以下模式:

preg_replace('/\/\.(.*)\/\./', '<i>$1</i>', $text)

但是对于该示例,它将返回To <i>be/. or /.not</i> to be!而不是To <i>be</i> or <i>not</i> to be! ...

我也尝试使用负面预测断言,但它会抛出错误。

1 个答案:

答案 0 :(得分:1)

使用非贪婪的匹配(问号):

preg_replace('/\/\.(.*?)\/\./', '<i>$1</i>', $text);