如何使用 PHP 正则表达式从字符串中删除方括号及其内容?
php 中使用正则表达式使用 str_replace 删除方括号中的内容
问题:
我们需要从一个字符串中删除所有以方括号括起来的内容。
$str = "[align=left][color=#ff00][font=微软雅黑, tahoma, helvetica, simsun, sans-serif][size=5]2014九寨沟—黄河第一湾—,[/size][/font][/color][color=#ff00][font=微软雅黑, tahoma, helvetica, simsun, sans-serif]两批结束回来要整理的东西太多了,第一批的照片要整理,修改,发给队员,[attach]1697[/attach]<br> ";
需要的结果为:
$str = "2014九寨沟—黄河第一湾—,两批结束回来要整理的东西太多了,第一批的照片要整理,修改,发给队员,";
解决方案:
可以使用 str_replace 函数与正则表达式相结合来实现:
$str = preg_replace('/\[(.*?)\]/', '', $str);
该正则表达式匹配任何形式的方括号,并将其中的内容替换为空字符串。
例如:
$str = '[align=left]2014九寨沟—黄河第一湾—,[/align]'; $str = preg_replace('/\[(.*?)\]/', '', $str); // 结果:2014九寨沟—黄河第一湾—,