0

$_GET['search']次の文字列をインポートします: " first second \ \ third" ("second" と "third" の間のスペースは単なる空白です。SO のテキスト領域では複数の連続した空白を許可しないため、スラッシュが追加されます)。

次のスクリプトは、インポートされた文字列を処理します。

$searchString = $_GET['search'];
$searchString = preg_replace('/(\W)(\S)(\s+)/', '', $searchString);
echo $searchString . ' ';
print_r( explode(' ', $searchString) );

奇妙なことに、次の結果になります。

first second third Array ( [0] => first [1] => second [2] => [3] => [4] => third )

つまり、予想どおり空白は削除されますが$searchStringechoPHPexplodeはそれらを「再挿入」しているようです。どうすればいいの?

4

2 に答える 2