$ match = array('〜(?:face \ = [\'']]?(\ w +)[\'“]?)〜我','~~ i');
$ replace = array('font-family:$ 1;','< span style =“$ 1”>');
我想替换旧的< font>具有“face”属性且具有新< span>的元素具有“style”属性的元素,但当“face”属性中的字体名称包含空格时,正则表达式总是失败,例如:Courier New。如何修改正则表达式来解决这个问题?
答案 0 :(得分:0)
将\w+
替换为.+
以包含所有字符,而不仅仅包含'字'字符。或者 '
以外的所有字符 [^\']+
更新版本:
$match = array('~(?:face\=[\'"]?([^\']+)[\'"]?)~i', '~~i');
$replace = array('font-family:$1;', '<span style="$1">');