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 に答える