使用php找到字符串的下一个实例

时间:2014-08-08 22:23:17

标签: php

我想要解析一段文字。

$string ='","test","next","next2","next3"';

我正在寻找'测试'这样:

$pos = strpos($string, 'test');

有效。

我想要做的是找到"的下一个实例。标记为终点。

我试过了:

$pos_2 = strpos(substr($string,0,strpos($string,$pos)),'"');

但我没有得到结果。

在上面的示例中,找到下一个“引用”实例的最佳方法是什么?在找到目标文本的开头后标记(或任何字符/文本字符串)?

这种情况下的目标是提取术语" test"

1 个答案:

答案 0 :(得分:1)

以下是您问题的直接答案:

$p1 = strpos($string, 'test');
$p2 = strpos($string, '"', $p1);

See demo

如果您不是一直在寻找",并且只是希望角色的位置紧跟在目标文本之后,您可以这样做:

$target = 'test';
$p1 = strpos($string, $target);
$p2 = $p1 + strlen($target);

See demo


请注意,字符位置将从 0 开始,而不是 1 。因此,在您的示例中,' test' 从位置 3 (字母 t )开始,然后紧接着引用位于 7