Php 正则表达式使用空格失败
$match=数组(“~(?:face\=[\'”]?(\w+[\'”]?)~i',“~~i”)Php 正则表达式使用空格失败,php,html,css,regex,Php,Html,Css,Regex,$match=数组(“~(?:face\=[\'”]?(\w+[\'”]?)~i',“~~i”) $replace=array('font-family:$1;','') 我想用具有“style”属性的新元素替换具有“face”属性的旧元素,但是当“face”属性中的字体名称包含空格时,正则表达式总是失败,例如:Courier new。如何修改正则表达式以解决此问题?将\w+替换为+以包含所有字符,而不仅仅是“word”字符。或除'以外的所有字符,如下所示:[^\']+ 更新版本: $match
$replace=array('font-family:$1;','')
我想用具有“style”属性的新元素替换具有“face”属性的旧元素,但是当“face”属性中的字体名称包含空格时,正则表达式总是失败,例如:Courier new。如何修改正则表达式以解决此问题?将
\w+
替换为+
以包含所有字符,而不仅仅是“word”字符。或除'
以外的所有字符,如下所示:[^\']+
更新版本:
$match = array('~(?:face\=[\'"]?([^\']+)[\'"]?)~i', '~~i');
$replace = array('font-family:$1;', '<span style="$1">');
$match=array(“~(?:face\=[\'”]?([^\']+)[\'”]?)~i',“~i');
$replace=array('font-family:$1;','');
使用正则表达式解析HTML通常不是一个好主意。但是我的HTML很简单,所以我不需要使用DOM来解析它:)