首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找到具有偏移量- php的许多字符中的任何一个位置?

找到具有偏移量- php的许多字符中的任何一个位置?
EN

Stack Overflow用户
提问于 2014-08-24 17:15:25
回答 1查看 75关注 0票数 0

我试图找到任何一个字符的位置,但需要能够设置一个搜索偏移量。

这正是strpos()的功能,但匹配的是许多字符中的任何一个,而不是单个字符串/字符。如果strpos()接受一个$needles数组,这正是我所需要的(假设它返回$haystack中最早匹配的位置)。

在匹配一组字符方面,strpbrk()完全具备所需的条件,但这不允许偏移量,以便在每次匹配成功后,我可以沿着字符串移动。

这似乎是PHP字符串函数中缺少的一件奇怪的事情,我缺少了什么吗?

以下是代码摘要:

而($pos=strpos($el->text(),‘*_-’‘,$el->$Type()!==FALSE){$el->$HandlerTypes($pos);foreach ($HandlerTypes as $Type){ // $Type:$el->位置在此函数中被修改为$ this ->markSpan($Type,$el);}}

在这里我寻找的是*_-!或‘,而不是它们的字符串。任何标记可能在字符串中出现不止一次。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-24 17:27:24

正则表达式到救援!

代码语言:javascript
复制
$s = 'skipbfoobarxarjar';
preg_match_all('~[bxj]~', $s, $m, PREG_OFFSET_CAPTURE, 5);
print_r($m[0]);

结果:

代码语言:javascript
复制
[0] => Array
    (
        [0] => b
        [1] => 8
    )

[1] => Array
    (
        [0] => x
        [1] => 11
    )

[2] => Array
    (
        [0] => j
        [1] => 14
    )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25474249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档