引用符で囲まれたフレーズを保持しながら文字列を分割する
このタスクは、引用符で囲まれた独自の要件を使用して、指定された文字列を単語の配列に分解することです。フレーズは単一の単位として扱われます。
これを実現するには、正規表現のマッチングを利用するアプローチが 1 つあります。引用されたフレーズと個々の単語の両方をキャプチャするのに適したパターンは次のとおりです。
"(?:\.|[^\"])*"|\S+
このパターンは、交互演算子 (|) で区切られた 2 つの部分で構成されます:
このパターンを PHP で使用するには、preg_match_all(...):
$text = 'Lorem ipsum "dolor sit amet" consectetur "adipiscing \"elit" dolor'; preg_match_all('/"(?:\.|[^\"])*"|\S+/', $text, $matches);
これにより、 $matches 配列には、キャプチャされたすべての一致の配列が含まれます。引用されたフレーズは単一の要素として分離されます。
たとえば、指定された入力文字列の場合:
Lorem ipsum "dolor sit amet" consectetur "adipiscing \"elit" dolor
preg_match_all( ...) は次のようになります:
Array ( [0] => Array ( [0] => Lorem [1] => ipsum [2] => "dolor sit amet" [3] => consectetur [4] => "adipiscing \"elit" [5] => dolor ) )
以上が引用句をそのままの状態で文字列を単語に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。