0
preg_split
フォワードスラッシュと一重引用符で囲んだ文字列を除外する方法はありますか?preg_splitスラッシュを一重引用符で囲んだ文字列に続いて除外する方法
私はこの問題をかなり襲ってきました。
以下はコードです。その後に出力されます。
$str = "storeid='1,2',categoryname = 'the ultimate \'operating room'";
$match = preg_split("/('[^'\\\\]*')/U", $str, null, PREG_SPLIT_DELIM_CAPTURE);
print_r($match);
OUTPUT
Array ([0] => storeid= [1] => '1,2' [2] => ,categoryname = 'the ultimate \ [3] => 'operating room' [4] =>)
しかし、ここでは私の予想される出力ですが、私は除外したい\」。
誰かが私を理解して助けてくれることを願っています。
Array ([0] => storeid= [1] => '1,2' [2] => ,categoryname =[3] => 'the ultimate \'operating room' )
あなたはパターンが単一引用符ではありません(単一引用符の間)任意のエスケープ文字で壊れることを行う場合。エスケープされたすべての文字を処理するには、(?:\\\\ '[^' \\\\] *) 'を'(?s:\\\\。[^ '\\\\\] *)改行を含む文字。 –
私が答えで書いた最初の正規表現は問題ないと思います。私は説明を書いている間に私が何を考えているのか分からない。とにかくありがとう。 @CasimiretHippolyte – revo