允许双点范围语法的天然PHP函数

发布于 2025-02-13 04:52:10 字数 274 浏览 2 评论 0 原文

某些本机PHP字符串函数具有一个参数,该参数是一个或多个无序字符的字符串(也称为“字符掩码”)。在某些情况下,角色范围可以使用双点语法表示。

例如: echo trim('foo24','0..9'); prints foo 因为 2 4 属于 0 通过 9 范围。

其他具有相同功能的本机PHP字符串功能是什么?

Some native PHP string functions have a parameter which is a string of one or more unordered characters (also referred to as a "character mask"). In some cases, character ranges can be expressed using double-dot syntax.

For example: echo trim('foo24', '0..9'); prints foo because 2 and 4 fall within the 0 through 9 range.

What are the other native PHP string functions with the same feature?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷︶言冷语的世界 2025-02-20 04:52:10

尊重双点范围表达式的本机php字符串函数:

  • addcslashes() demo < /a>)

      echo addcslashes('adobe','a..e');
     // \ a \ do \ b \ e
     

  • chop> chop() - rtrim()的别名( demo

      echo chop('adobe','a..e');
     // ado
     

  • ltrim() demo

      echo ltrim('adobe','a..e');
     // OBE
     
  • rtrim() demo

      echo rtrim('adobe','a..e');
     // ado
     

  • str_word_count()代码>( demo

      var_export(
         str_word_count('不要打破| | pipe',1,'{..}')
     );
     // ['do','不',''break | on | pipe']
     

  • trim() demo

      echo trim('adobe','a..e');
     // o
     

  • ucwords(ucwords()代码>( demo

      echo ucwords('Backdooman','a..e');
     // Backdooman
     


这是一些本机函数,其中不展开范围的表达式,但可能是该功能的合理候选人:

  • strcspn() demo )(扩展是合理的)

      echo strcspn('cdplayer','b..e');
     // 6
     // 0如果启用了范围
     
  • strpbrk() demo )(扩展是合理的)

      echo strpbrk('stackoverflow','b..f');
     // 流动
     // ckoverflow如果启用了范围
     
  • strspn() demo )(扩展是合理的)

      echo strspn('adobe','a..e');
     // 1
     // 2如果启用了范围
     
  • strtok() demo )(扩展是合理的)

      echo strtok('幼儿','a..e');
     // toddl
     //如果启用了范围
     
  • strtr() demo )(不在主题范围之外,因为从技术上讲不是字符面具 - 字符顺序很重要)

      echo strtr('adobe','a..e','a..e');
     // Adob​​e
     // Adob​​e如果启用了范围
     

由于支持的技术挑战。 ..
参考: https://wiki.php.net/ rfc/mb_trim

  • mb_ltrim()
  • mb_rtrim()
  • mb_trim()

Native PHP string functions that respect double-dot range expressions:

  • addcslashes() (Demo)

     echo addcslashes('adobe', 'a..e');
     // \a\do\b\e
    
  • chop() -- alias of rtrim() (Demo)

     echo chop('adobe', 'a..e');
     // ado
    
  • ltrim() (Demo)

     echo ltrim('adobe', 'a..e');
     // obe
    
  • rtrim() (Demo)

     echo rtrim('adobe', 'a..e');
     // ado
    
  • str_word_count() (Demo)

     var_export(
         str_word_count('do not break|on|pipe', 1, '{..}')
     );
     // ['do', 'not', 'break|on|pipe']
    
  • trim() (Demo)

     echo trim('adobe', 'a..e');
     // o
    
  • ucwords() (Demo)

     echo ucwords('backdoorman', 'a..e');
     // BaCkdOormaN
    

Here are some native functions where ranged expressions are not expanded, but might be reasonable candidates for the feature:

  • strcspn() (Demo) (expansion would be reasonable)

     echo strcspn('cdplayer', 'b..e');
     // 6
     // 0 if range enabled
    
  • strpbrk() (Demo) (expansion would be reasonable)

     echo strpbrk('stackoverflow', 'b..f');
     // flow
     // ckoverflow if range enabled
    
  • strspn() (Demo) (expansion would be reasonable)

     echo strspn('adobe', 'a..e');
     // 1
     // 2 if range enabled
    
  • strtok() (Demo) (expansion would be reasonable)

     echo strtok('toddler', 'a..e');
     // toddl
     // to if range enabled
    
  • strtr() (Demo) (out of topic scope because not technically a character mask -- character order matters)

     echo strtr('adobe', 'a..e', 'A..E');
     // AdobE
     // ADoBE if range enabled
    

Due to technical challenges of supporting .. syntax with multibyte characters, the following native functions will not allow ..
Ref: https://wiki.php.net/rfc/mb_trim

  • mb_ltrim()
  • mb_rtrim()
  • mb_trim()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文