在<里面使用preg_replace排除和>

时间:2013-09-12 04:44:46

标签: php codeigniter preg-replace

我想将"内的所有<...>替换为'

实施例

我的字符串:

Hello "world" <a href="#" title="some text">abc</a>

替换后我想要这个:

Hello 'world' <a href="#" title="some text">abc</a>

1 个答案:

答案 0 :(得分:3)

这在大多数情况下都有效:

$result = preg_replace('/^((?:[^<"]|(?:<[^>]*>))*)"([^"]*)"/', "$1'$2'", $str);

如果HTML属性中包含>字符,则无效。为了捕获所有这些边缘情况,你应该避免使用正则表达式,并研究用于解析HTML的更强大的工具,因为HTML不是常规语言。