だから私は文字列の交換をしようとしていますが、私が起こるとは思っていなかった何かが起こっていて、誰かがそれに光を当てることができるかどうかを見たいと思っていました.
'| を置き換える正規表現置換を実行しようとしています。' 存在する場合。グループ マッチングとクエスチョン マークを使用してそれを実行していますが、何らかの理由でスペースだけを置き換えています。
$str = 'x x';
$str = preg_replace('/(| )?/','',$str);
echo $str; // Echoes out 'xx' whereas it should return 'x x'
しかし、スペースをキャレットに置き換えると、次のようになります。
$str = 'x^x';
$str = preg_replace('/(|^)?/','',$str);
echo $str; // Echoes out 'x^x' as expected
私が覚えていない特別なスペースがありますか? それともこれでうまくいくのでしょうか?
私は次のことを試しました:
$str = preg_replace('/(|\s)?/','',$str);
$str = preg_replace('/(|[ ])?/','',$str);
また、どちらも不正確な結果を出しています。考え?