【发布时间】:2018-07-17 07:09:14
【问题描述】:
如何使用 preg_replace 从字符串中两个方括号之间删除所有 . 字符?
我试图只替换方括号而不是字符串中的其他点。这应该有效,但不知何故只是给出了一个空白字符串。我该如何为此编写正则表达式?
$str = '[city.name][city.state][city.mayor][city.mayor.name](city.name)';
$str = preg_replace('/\[.*?\]/','',$str);
echo $str;
// output
[cityname][citystate][citymayor][citymayorname](city.name)
【问题讨论】:
-
:-) 正确的说法是什么?
-
@SaadSuri:有人拒绝您的答案可能是有原因的 - 它太简单了,真的,并且也会匹配
[和]之外的点(可能不是OP想要什么)。此外,字符类中的点不需要转义 -[.]完全可以。 -
@Jan 哦抱歉没看那部分谢谢
标签: php regex preg-replace