我想将"
内的所有<...>
替换为'
我的字符串:
Hello "world" <a href="#" title="some text">abc</a>
替换后我想要这个:
Hello 'world' <a href="#" title="some text">abc</a>
答案 0 :(得分:3)
这在大多数情况下都有效:
$result = preg_replace('/^((?:[^<"]|(?:<[^>]*>))*)"([^"]*)"/', "$1'$2'", $str);
如果HTML属性中包含>
字符,则无效。为了捕获所有这些边缘情况,你应该避免使用正则表达式,并研究用于解析HTML的更强大的工具,因为HTML不是常规语言。