分割字符串同时保留引用的短语
任务是将给定的字符串分解为单词数组,并满足引用的独特要求短语被视为单个单元。
要实现这一点,一种方法涉及利用正则表达式匹配。捕获引用短语和单个单词的合适模式是:
"(?:\.|[^\"])*"|\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中文网其他相关文章!