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

空白が1 つしかないことがわかっている場合は、単純な str_replace を使用できます。これは preg_replace よりもはるかに高速です。

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