【问题标题】:Replace one character with another using PHP function使用 PHP 函数将一个字符替换为另一个字符
【发布时间】:2017-01-04 23:16:20
【问题描述】:

我需要使用自定义的 PHP 函数来处理这些数据,

Austin Metro>Central Austin|Austin Metro>Georgetown|Austin Metro>Lake Travis | Westlake|Austin Metro>Leander | Cedar Park|Austin Metro>Round Rock | Pflugerville | Hutto|Austin Metro>Southwest Austin

并将其转换为如下所示:

Austin Metro>Central Austin#Austin Metro>Georgetown#Austin Metro>Lake Travis | Westlake#Austin Metro>Leander | Cedar Park#Austin Metro>Round Rock | Pflugerville | Hutto#Austin Metro>Southwest Austin

目前使用以下但也替换字符“|”在“Leander | Cedar Park”之间。有没有办法只替换之前或之后没有空格的那些?

 preg_replace("/|/", "#", {categories[1]} );

有什么建议吗?谢谢!

【问题讨论】:

    标签: php regex preg-replace str-replace


    【解决方案1】:

    您要查找的内容称为前瞻/后瞻 assertion in PCRE。具体来说,您希望对管道周围的空间进行负面观察和负面观察。您还应该注意,字符 | 在 PCRE 中具有特殊含义,因此您需要对其进行转义以获得文字。

    preg_replace('/(?<! )\|(?! )/', '#', $str);
    

    (?&lt;! ) 是消极的后视。它说匹配字符|,但前提是它没有以空格开头。 (?! ) 是负面的展望。它说匹配字符|,但前提是它后面没有空格。

    【讨论】:

      猜你喜欢
      • 2011-12-21
      • 2020-02-08
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-03
      • 1970-01-01
      相关资源
      最近更新 更多