首页 > 后端开发 > php教程 > 如何将字符串拆分为单词,同时保持引用的短语完整?

如何将字符串拆分为单词,同时保持引用的短语完整?

Linda Hamilton
发布: 2024-12-12 16:20:09
原创
805 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板