如何按單字分割字串,保留引用的文字
對於給定字串"Lorem ipsum "dolor sat amet" consectetur "adipiscing elit “dolor”,我們尋求一種將其分解為陣列的方法,同時保持引用短語的完整性。使用提供的代碼:
$mytext = "Lorem ipsum %22dolor sit amet%22 consectetur %22adipiscing elit%22 dolor" $noquotes = str_replace("%22", "", $mytext"); $newarray = explode(" ", $noquotes);
導致單字被拆分。為了解決這個問題,我們利用正規表示式:
$text = 'Lorem ipsum "dolor sit amet" consectetur "adipiscing \"elit" dolor'; preg_match_all('/"(?:\\.|[^\\"])*"|\S+/', $text, $matches);
此正規表示式符合引號的字串或非空白字元。引號的字串可以包含轉義雙引號("),而該技術可以適應這種情況。結果:
Array ( [0] => Array ( [0] => Lorem [1] => ipsum [2] => "dolor sit amet" [3] => consectetur [4] => "adipiscing \"elit" [5] => dolor ) )
解釋:
正則表達式可以分解為它的組成部分:
以上是如何將字串拆分為單詞,同時保留引用的短語?的詳細內容。更多資訊請關注PHP中文網其他相關文章!