2013-02-20 43 views
0

使用PHP,我想要編碼任意標籤的屬性值中的特定字符(><字符)。例如,<input type="text" data-name="Oliver<>Nassar">將變爲<input type="text" data-name="Oliver&lt;&gt;Nassar">對標籤屬性中的特定字符進行編碼

我對屬性名稱沒有挑剔(例如,data-namevalue屬性名稱)。雖然我很高興地設定屬性值(如:<input data-name="...">)前的空白字符(\s),這將是巨大的,如果這不是一個條件,這樣我能滿足的情況下,如<input type="text"data-name="Oliver<>Nassar">

我想象PHP的preg_replace_callback會被利用,但就實際表達而言,我可以在那裏使用一些幫助。

+0

爲什麼添加了正則表達式標籤的任何特定原因? – 2013-02-20 05:28:20

+0

我相信我需要一個正則表達式來匹配屬性值的內容。 – onassar 2013-02-20 05:29:05

+0

看看[這個問題](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags),看看你是否仍然想要正則表達式... – 2013-02-20 05:30:55

回答

0

這裏是我想出了表達:

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

希望這是有幫助別人。

相關問題