0

我有类似的文字:

“吃 [12] 我的 [15] 短裤 [20]”

我想从字符串中的所有括号中删除空格。

我试过类似的东西:

$str = 'Eat [ 12 ] my [ 15]  shorts [ 20 ]';
$str = preg_replace_callback("~\([^\)]*)\)~", function($s) {
    return str_replace(" ", "", "($s[1])");
}, $str);
echo $str;

但仍然没有成功。

有人可以告诉我,如何以正确的方式做到这一点?

非常感谢您的帮助。

4

2 回答 2

2

试试这个:

$str = 'Eat [ 12 ] my [ 15]  shorts [ 20 ]';
$str = preg_replace('#\[\s+#', '[', $str);
$str = preg_replace('#\s+\]#', ']', $str);
于 2013-01-30T15:08:28.147 回答
0

如果您知道只有一个空格,您可以使用简单的 str_replace。这将比 preg_replace 快得多:

$str = str_replace( array( '[ ', ' ]' ), array( '[', ']' ), $str );
于 2013-01-30T15:13:23.113 回答