首頁 >後端開發 >php教程 >如何將字串拆分為單詞,同時保持引用的短語完整?

如何將字串拆分為單詞,同時保持引用的短語完整?

Linda Hamilton
Linda Hamilton原創
2024-12-12 16:20:09872瀏覽

How Can I Split a String into Words While Keeping Quoted Phrases Intact?

分割字串同時保留引用的短語

任務是將給定的字串分解為單字數組,並滿足引用的獨特要求短語被視為單一單元。

要實現這一點,一種方法涉及利用正規表示式匹配。捕捉引用片語和單字的適當模式是:

"(?:\.|[^\"])*"|\S+

此模式由交替運算子(|) 分隔的兩部分組成:

  1. "(?: \ .|[^\"])*":符合用雙引號(") 括起來的字串。它也使用非捕獲組 1 來解釋引用文本中的轉義引號 ()。
  2. S :符合一個或多個非空白字符,代表單字。

要在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn