0

我想把所有"不在里面的东西都<...>换成'

例子

我的字符串:

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

更换后我想要这个:

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

1 回答 1

3

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

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

>如果HTML 属性中有字符,它将不起作用。为了捕捉所有这些边缘情况,您应该避免使用正则表达式,并研究为解析 HTML 而设计的更强大的工具,因为 HTML 不是常规语言。

于 2013-09-12T04:50:00.600 回答