Php 如何在某个单词前抓住字符串

Php 如何在某个单词前抓住字符串,php,Php,我想在某个单词前抓住一个字符串。我知道如何抓住后,但不是前 我知道在某个单词后面要抓取的代码是: GetStringBetween(getURL("url),"startstring", 'stopstring'); 但是如果我想在某根绳子之前抓住呢?我的问题是: mpegur | m3u8 | 172d45823df011328d145090333c9e6 | org | play | iZ7XfsOZq8SgEGdeG1RasA | 1565987357 | videoserver2 56

我想在某个单词前抓住一个字符串。我知道如何抓住后,但不是前

我知道在某个单词后面要抓取的代码是:

GetStringBetween(getURL("url),"startstring", 'stopstring');
但是如果我想在某根绳子之前抓住呢?我的问题是:
mpegur | m3u8 | 172d45823df011328d145090333c9e6 | org | play | iZ7XfsOZq8SgEGdeG1RasA | 1565987357 | videoserver2


565987357
部分会发生变化,播放ID也会发生变化,因此我不能告诉它开始从A |部分抓取,因为它并不总是A |。因此,我需要PHP代码,它将在
|video
之前抓取所有内容,并在开始改变数字的
处停止,某种程度上类似于反向
getstringbetween
。。。谢谢您的建议。

如果字符串中的分隔符数为常量,您可以执行以下操作:

$string = 'mpegURL|m3u8|172d45823df011328d1450903533c9e6|org|play|iZ7XfsOZq8SgEGdeG1RasA|1565987357|videoserver2';

$stringParts = explode('|', $string);
$numbers = $stringParts[6];

如果字符串中的|分隔符数为常量,则可以执行以下操作:

$string = 'mpegURL|m3u8|172d45823df011328d1450903533c9e6|org|play|iZ7XfsOZq8SgEGdeG1RasA|1565987357|videoserver2';

$stringParts = explode('|', $string);
$numbers = $stringParts[6];

这看起来像一个带分隔符的文件,因此我将使用
str_getcsv
并定义分隔符

$pipes = str_getcsv('mpegURL|m3u8|172d45823df011328d1450903533c9e6|org|play|iZ7XfsOZq8SgEGdeG1RasA|1565987357|videoserver2', '|');
echo $pipes[6];

这看起来像一个带分隔符的文件,因此我将使用
str_getcsv
并定义分隔符

$pipes = str_getcsv('mpegURL|m3u8|172d45823df011328d1450903533c9e6|org|play|iZ7XfsOZq8SgEGdeG1RasA|1565987357|videoserver2', '|');
echo $pipes[6];

为什么不使用正则表达式呢?我不熟悉PHP世界中的Reg-im。你有一个例子吗?只是想确认一下-你给出的示例字符串的预期输出是什么。我想要一个代码,它可以抓取|和| Video ex之间的数字,比如
565987357
没有类似的开始字符串来告诉它开始抓取,只需在PHP中使用explode即可。Regex在这里看起来更贵。为什么不使用Regex?我对Reg im不太熟悉,对PHP来说是个新手。你有一个例子吗?只是想确认一下-你给出的示例字符串的预期输出是什么。我想要一个代码,它可以抓取|和| Video ex之间的数字
565987357
没有类似的开始字符串可以告诉它开始抓取它,只需在php中使用explode。我觉得这里的正则表达式更贵。