PHP preg_replace字符串

时间:2017-06-05 15:32:43

标签: php

我正在使用ereg_replace函数将我的HTML中的所有标记替换为空白。我的案例中的标签如下所示:{{AGE}} {{NAME}} {{EMAIL_ADDRESS}}

我正在使用这句话(已在PHP 7中删除):

$my_string = ereg_replace("\{\{[a-zA-Z_0-9]+\}\}", "", $my_string); 

现在我想对ereg_replace使用替代句子,我尝试了这个:

$my_string = preg_replace("\{\{[a-zA-Z_0-9]+\}\}", "", $my_string); 

它抛出错误。看起来preg的第一个参数与ereg不同。有人可以告诉我如何修复它来替换所有格式为{{something here}}

的标签

感谢。

1 个答案:

答案 0 :(得分:1)

使用preg_* - 函数,您的表达式需要一个分隔符(表达式开头和结尾的某个字符告诉底层引擎表达式结束,任何可选修饰符开始)。

大多数开发人员使用/作为分隔符,所以:

$my_string = preg_replace("/\{\{[a-zA-Z_0-9]+\}\}/", "", $my_string);

虽然我不认为{}字符在正则表达式中具有特殊含义,但您可能无法逃脱:

$my_string = preg_replace("/{{[a-zA-Z_0-9]+}}/", "", $my_string);