0

使用 PHP,我想在任何标签的属性值中对特定字符(>和字符)进行编码。<

例如,<input type="text" data-name="Oliver<>Nassar">将成为<input type="text" data-name="Oliver&lt;&gt;Nassar">.

我对属性名称(例如data-namevalue属性名称)并不挑剔。虽然我很高兴\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 回答