我正在执行此操作。
$title = "Group CIO, Member of the Executive Committee";
$pos = strripos($title,"cio");
而不是$pos
像8
我一样获得价值,而是获得$pos
价值6
。可能是什么原因?
*pos*
我知道的所有函数都返回匹配开始的索引。如果您想知道匹配在哪里结束,只需将字符串的长度相加并减去 1:
$pos = strripos($title, "cio") + strlen("cio") - 1;
因为它的位置是6...
0123456
Group CIO, Member...
在 haystack 字符串中查找最后一次出现 needle 的数字位置。
最后一次出现是句子中的第二个单词,从位置 6开始
你为什么期待第 8 位?
你为什么期待8?
让我演示一下:
000000000011111111112
012345678901234567890
Group CIO, Member of ...
^
从手册:
返回针相对于 haystack 字符串开头的位置(与偏移量无关)。另请注意,字符串位置从 0 开始,而不是 1
strripos
查找最后一次出现的针的第一个字符。您必须手动添加针长
$pos = strripos($title,"cio")+strlen("cio")-1;