Php 如何找到具有偏移量的子字符串的数字位置?
如果我想在我可以使用的文本中检查字符串的出现Php 如何找到具有偏移量的子字符串的数字位置?,php,Php,如果我想在我可以使用的文本中检查字符串的出现 strpos($some_string,“word”)返回字符串的第一个字符位置 但是如果我想在文本中搜索一个字符串在一个设定的起点和终点之间的位置,该怎么办呢 所以如果$text=“你好,我的名字是fred blogs,我住在一所房子里” 所以strpos($text,“fred”)将给出大约18 如果我有$text=“你好,我的名字是fred blogs,我还活着,我还有一个兄弟fred,还有一个叫fred的祖母” 现在我知道这个字符串中的第二个
strpos($some_string,“word”)
返回字符串的第一个字符位置
但是如果我想在文本中搜索一个字符串在一个设定的起点和终点之间的位置,该怎么办呢
所以如果$text=“你好,我的名字是fred blogs,我住在一所房子里”
所以strpos($text,“fred”)代码>将给出大约18
如果我有$text=“你好,我的名字是fred blogs,我还活着,我还有一个兄弟fred,还有一个叫fred的祖母”
现在我知道这个字符串中的第二个“fred”位于位置A和B之间,那么您是否strpos
位于这两个位置之间 strpos()
将偏移量作为第三个参数,因此您可以执行以下操作:
strpos($text, "fred", 16);
如果你知道A点和B点的位置,你可以利用它
strpos(substr($text,POINT A POSITION,POINT B POSITION),"fred");
可以使用第三个参数offset在字符串中进一步开始。要使其更具动态性,请执行以下操作:
$string = "fred";
strpos($text, $string, strpos($text, $string)+strlen($string));
这将在第一次找到后找到下一次发生的事件。
我使用嵌套的strpos()+strlen()
作为第三个参数,使其以偏移量开始您是否特别检查了手动和offset
参数?作为旁注,mysql
与此问题有何关系?为什么它被赋予了可能的最通用的名称?在本例中,Regexp具有否定的前瞻性。