我有一个文本字符串,我试图解析。
$string ='","test","next","next2","next3"';
我是这样定位'test'的:
$pos = strpos($string, 'test');
。
我想做的是找到"标记"的下一个实例作为结束点。
I have try:
$pos_2 = strpos(substr($string,0,strpos($string,$pos)),'"');
但我没有得到结果。
在上面的例子中,在我找到目标文本的开头之后,找到"引号"标记(或任何字符/文本字符串)的下一个实例的最佳方法是什么?本例中的目标是提取术语"test"
下面是对你问题的直接回答:
$p1 = strpos($string, 'test');
$p2 = strpos($string, '"', $p1);
<<p> 看到演示/strong> 如果您不总是寻找"
,并且只是想要紧邻目标文本的字符位置,您可以这样做:
$target = 'test';
$p1 = strpos($string, $target);
$p2 = $p1 + strlen($target);
<<p> 看到演示/strong> 请记住,字符位置将从0开始,而不是1。因此,在您的示例中,'test'从位置3(字母t)开始,紧跟其后的引号位于位置7。