0

PHP を使用して、任意のタグの属性値内の特定の文字 (>および文字)をエンコードしたいと考えています。<

たとえば、<input type="text" data-name="Oliver<>Nassar">になり<input type="text" data-name="Oliver&lt;&gt;Nassar">ます。

私は属性名(data-nameまたはvalue属性名など)に関してうるさいわけではありません。\s属性値の前に空白文字 ( ) があると仮定<input data-name="...">しても問題ありませんが(例:<input type="text"data-name="Oliver<>Nassar">

PHPpreg_replace_callbackが利用されると思いますが、実際の表現に関しては、そこで助けを借りることができます。

4

1 に答える 1

0

私が思いついた表現は次のとおりです。

'/' .
    '(' .
        '\s{1}' .
        '[a-z\-]+' .
        '\s?' .
        '=' .
        '\s?' .
        '(' .
            '[\'|"]{1}' .
        ')' .
    ')' .
    '([^\2]*)' .
    '\2' .
'/iU',

これが他の誰かに役立つことを願っています。

于 2013-02-20T06:45:58.907 に答える