正则表达式多余空格怎么去掉?

WBOY
Freigeben: 2016-06-23 14:05:08
Original
1225 Leute haben es durchsucht

echo $keyword = "上海|北京!成都 深圳";echo "<br />"; $old1 = array("/(\s*)(\s)(\s*)/","/(\s*)(\|)(\s*)/","/(\s*)(!)(\s*)/");$new1 = array('" "','"|"','" "!');echo $keyword3="\"".preg_replace($old1,$new1,$keyword)."\"";//输出:"上海"|"北京" "!成都" "深圳"echo $keyword = "上海 | 北京 !成都   深圳";echo "<br />"; $old1 = array("/(\s*)(\s)(\s*)/","/(\s*)(\|)(\s*)/","/(\s*)(!)(\s*)/");$new1 = array('" "','"|"','" "!');echo $keyword3="\"".preg_replace($old1,$new1,$keyword)."\"";//输出:"上海" ""|"" "北京" "" "!成都" "深圳"
Nach dem Login kopieren

上面两种情况:第一种是显示是对的,第二种给各符号间加了空格输去就错误了。请问多余的空格怎么屏蔽掉?


回复讨论(解决方案)

没看懂你的需求,我做的话用\S提取就足够了

下面的做法能满足你的需要吗?

echo $keyword = "上海|北京!成都 深圳";echo "<br />"; $old1 = array("/(\s*)(\s)(\s*)/","/(\s*)(\|)(\s*)/","/(\s*)(!)(\s*)/");$new1 = array('" "','"|"','" "!');echo $keyword3="\"".preg_replace($old1,$new1,$keyword)."\"";//输出:"上海"|"北京" "!成都" "深圳"echo $keyword = "上海 | 北京 !成都   深圳";$keyword = str_replace(" ","",$keyword);echo "<br />"; $old1 = array("/(\s*)(\s)(\s*)/","/(\s*)(\|)(\s*)/","/(\s*)(!)(\s*)/");$new1 = array('" "','"|"','" "!');echo $keyword3="\"".preg_replace($old1,$new1,$keyword)."\"";//输出:"上海" ""|"" "北京" "" "!成都" "深圳"
Nach dem Login kopieren

下面的做法能满足你的需要吗?



PHP code
?



123456789101112131415

echo $keyword = "上海|北京!成都 深圳"; echo "
"; $old1 = array("/(\s*)(\s)(\s*)/","/(\s*)(\|)(\s*)/","/(\s*)(!)(\s*)/"); $new1 = array('……
还是不行。你的显示是:"上海"|"北京" "!成都深圳"
我想要的结果是:"上海"|"北京" "!成都" "深圳"

没看懂你的需求,我做的话用\S提取就足够了
我的需求是把:"上海|北京!成都 深圳" 变成 "上海"|"北京" "!成都" "深圳"

没看懂你的需求,我做的话用\S提取就足够了

"上海 | 北京 !成都 深圳" 也要变成 "上海"|"北京" "!成都" "深圳"

这样写

$keyword = "上海|北京!成都 深圳";     //输出:"上海"|"北京" "!成都" "深圳"$keyword = "上海 | 北京 !成都   深圳";//输出:"上海"|"北京" "!成都" "深圳"echo "<br />"; $old1 = array("/!?[^\s!|]+/", "/\s+/", "/\s*\|\s*/", '/""/');$new1 = array('"$0"', ' ', '|', '" "');echo $keyword3 = preg_replace($old1,$new1,$keyword);
Nach dem Login kopieren

参考一下

$old1 = array("/(\s*)(\|)(\s*)/","/(\s*)(!)(\s*)/","/(\s*)(\s)(\s*)(?!\")/");$new1 = array('"|"','" "!','" "');
Nach dem Login kopieren

echo $keyword = "上海 | 北京 !成都   深圳";$keyword = str_replace(" ","",$keyword);echo "<br />"; $old1 = array("/(\s*)(\|)(\s*)/","/(\s*)(!)(\s*)/","/(\s*?)(\s)(\s*?)/");$new1 = array('"|"','" "!','" "');echo $keyword3="\"".preg_replace($old1,$new1,$keyword)."\"";//输出:"上海" ""|"" "北京" "" "!成都" "深圳"
Nach dem Login kopieren

试试

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage