正则表达式多余空格怎么去掉?
<br />echo $keyword = "上海|北京!成都 深圳";<br />echo "<br />"; <br />$old1 = array("/(\s*)(\s)(\s*)/","/(\s*)(\|)(\s*)/","/(\s*)(!)(\s*)/");<br />$new1 = array('" "','"|"','" "!');<br />echo $keyword3="\"".preg_replace($old1,$new1,$keyword)."\"";<br />//输出:"上海"|"北京" "!成都" "深圳"<br /><br />echo $keyword = "上海 | 北京 !成都 深圳";<br />echo "<br />"; <br />$old1 = array("/(\s*)(\s)(\s*)/","/(\s*)(\|)(\s*)/","/(\s*)(!)(\s*)/");<br />$new1 = array('" "','"|"','" "!');<br />echo $keyword3="\"".preg_replace($old1,$new1,$keyword)."\"";<br />//输出:"上海" ""|"" "北京" "" "!成都" "深圳"<br />
上面两种情况:第一种是显示是对的,第二种给各符号间加了空格输去就错误了。请问多余的空格怎么屏蔽掉?
正则表达式
——解决方案——————–
没看懂你的需求,我做的话用\S提取就足够了
——解决方案——————–
下面的做法能满足你的需要吗?
<br />echo $keyword = "上海<br><font color='#FF8000'>------解决方案--------------------</font><br>北京!成都 深圳";<br />echo "<br />"; <br />$old1 = array("/(\s*)(\s)(\s*)/","/(\s*)(\<br><font color='#FF8000'>------解决方案--------------------</font><br>)(\s*)/","/(\s*)(!)(\s*)/");<br />$new1 = array('" "','"<br><font color='#FF8000'>------解决方案--------------------</font><br>"','" "!');<br />echo $keyword3="\"".preg_replace($old1,$new1,$keyword)."\"";<br />//输出:"上海"<br><font color='#FF8000'>------解决方案--------------------</font><br>"北京" "!成都" "深圳"<br /><br />echo $keyword = "上海 <br><font color='#FF8000'>------解决方案--------------------</font><br> 北京 !成都 深圳";<br />$keyword = str_replace(" ","",$keyword);<br />echo "<br />"; <br />$old1 = array("/(\s*)(\s)(\s*)/","/(\s*)(\<br><font color='#FF8000'>------解决方案--------------------</font><br>)(\s*)/","/(\s*)(!)(\s*)/");<br />$new1 = array('" "','"<br><font color='#FF8000'>------解决方案-------------------<mark>6来源gaodaimacom搞#^代%!码网</mark><strong>搞gaodaima代码</strong>-</font><br>"','" "!');<br />echo $keyword3="\"".preg_replace($old1,$new1,$keyword)."\"";<br />//输出:"上海" ""<br><font color='#FF8000'>------解决方案--------------------</font><br>"" "北京" "" "!成都" "深圳"<br />
——解决方案——————–
这样写
$keyword = "上海
------解决方案--------------------
北京!成都 深圳"; //输出:"上海"
------解决方案--------------------
"北京" "!成都" "深圳"
$keyword = "上海
------解决方案--------------------
北京 !成都 深圳";//输出:"上海"
------解决方案--------------------
"北京" "!成都" "深圳"
echo "
";
$old1 = array("/!?[^\s!
------解决方案--------------------
]+/", "/\s+/", "/\s*\
------解决方案--------------------
\s*/", '/""/');
$new1 = array('"$0"', ' ', '