$ match = array('〜(?:face \ = [\'「]?(\ w +)[\'」]?)〜i','~~ i');
$ replace = array('font-family:$ 1;','< span style =「$ 1」>');其中有一個新的<跨度元素的「面子」屬性>與「風格」屬性,但正則表達式總是失敗正則表達式失敗,空白
我想,以取代舊< font>元素時,在「面子」屬性的字體名稱包含空格,例如:新快訊。我如何修改正則表達式來解決這個問題?
$ match = array('〜(?:face \ = [\'「]?(\ w +)[\'」]?)〜i','~~ i');
$ replace = array('font-family:$ 1;','< span style =「$ 1」>');其中有一個新的<跨度元素的「面子」屬性>與「風格」屬性,但正則表達式總是失敗正則表達式失敗,空白
我想,以取代舊< font>元素時,在「面子」屬性的字體名稱包含空格,例如:新快訊。我如何修改正則表達式來解決這個問題?
將\w+
替換爲.+
以包含所有字符而不是「單詞」字符。或所有字符除了'
這樣的:[^\']+
更新版本:
$match = array('~(?:face\=[\'"]?([^\']+)[\'"]?)~i', '~~i');
$replace = array('font-family:$1;', '<span style="$1">');
非常感謝你的答案;) – user366124 2010-07-02 17:01:37
不客氣。 – 2010-07-02 17:20:29
這通常不是一個好主意用正則表達式來解析HTML。 – Peter 2010-07-02 16:35:05
但我的HTML只是簡單的,所以我不需要使用DOM來解析它:) – user366124 2010-07-02 17:01:12