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