首页 > 解决方案 > 使用PHP从数组中提取字符串中特定字符的两次计数之间的文本

问题描述

所以我正在编写一个脚本来从半可预测的数据字符串中提取特定的数据字段,并且我正在尝试使用 PHP 来抓取特定字符的第 70 和第 71 个计数之间的文本。

因此,示例数据字符串如下...

00000|数据|数据|数据|文本|数据|数据|||

如何使用 PHP 来获取第 4 和第 5 个“|”之间的“文本”。文本字段发生了变化,所以我不能只使用正则表达式来匹配和提取它。我能想到的唯一合乎逻辑的方法是使用“|”的计数 每次都是可以预测的。

知道我怎么能做到这一点吗?我认为我的 PHP 技能中等,但无论我尝试什么,我都无法解决这个问题。

标签: phpparsing

解决方案


当您有一个包含由公共分隔符分隔的字符的字符串时,您可以使用explode()该字符串将该字符串拆分为由该分隔符分隔的片段并将这些片段放入数组中。然后,您可以使用标准数组访问语法访问一个片段(记住数组从零开始计数)。

一步步:

$pieces = explode("|", "00000|data|data|data|text|data|data|||");
echo $pieces[4]; // Get fifth string

使用数组解引用以获得更短的语法:

echo explode("|", "00000|data|data|data|text|data|data|||")[4];

推荐阅读