我无法找到问题的确切答案,即:
如何通过以下方式创建替换源的preg_replace
正则表达式:
url_rewriter.tags
,"a=href,area=href,frame=src,input=src,form=,fieldset= "
Soucre:url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset = "
我写了这个,但出了点问题:
$v = 'url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset = "';
$key = preg_replace('/^(.+[^=])[\\s]*=[\\s]*(.*)$/', '$1', $v);
$val = preg_replace('/^(.+[^=])[\\s]*=[\\s]*(.*)$/', '$2', $v);
它返回:
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset
"
我错过了什么?
答案 0 :(得分:1)
$v = 'url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset = "';
$key = preg_replace('/^([^\s=]*)\s*=\s*(.*)$/', '$1', $v);
$val = preg_replace('/^([^\s=]*)\s*=\s*(.*)$/', '$2', $v);
或者更好:
if (preg_match('/^([^\s=]*)\s*=\s*(.*)$/', $v, $match))
list(, $key, $val) = $match;
else
die('Error. Invalid source.');