如何通过php preg_替换删除文本中所有括号之间的空白
我对类似的案文有如下看法: “吃我的短裤” 我想删除字符串中所有括号中的空格 我试过这样的方法:如何通过php preg_替换删除文本中所有括号之间的空白,php,regex,Php,Regex,我对类似的案文有如下看法: “吃我的短裤” 我想删除字符串中所有括号中的空格 我试过这样的方法: $str = 'Eat [ 12 ] my [ 15] shorts [ 20 ]'; $str = preg_replace_callback("~\([^\)]*)\)~", function($s) { return str_replace(" ", "", "($s[1])"); }, $str); echo $str; 但仍然没有成功 谁能告诉我,怎么做才是正确的方法 非常感谢
$str = 'Eat [ 12 ] my [ 15] shorts [ 20 ]';
$str = preg_replace_callback("~\([^\)]*)\)~", function($s) {
return str_replace(" ", "", "($s[1])");
}, $str);
echo $str;
但仍然没有成功
谁能告诉我,怎么做才是正确的方法
非常感谢您的帮助。试试这个:
$str = 'Eat [ 12 ] my [ 15] shorts [ 20 ]';
$str = preg_replace('#\[\s+#', '[', $str);
$str = preg_replace('#\s+\]#', ']', $str);
如果你知道只有一个空格,你可以用简单的stru替换。这将比preg_替换快得多:
$str = str_replace( array( '[ ', ' ]' ), array( '[', ']' ), $str );