【问题标题】:Replace two "words" in a string using str_replace使用 str_replace 替换字符串中的两个“单词”
【发布时间】:2016-10-08 21:30:49
【问题描述】:

PHP 中使用str_replace 怎么可能用一个单词替换字符串中的两个单词(在我的例子中是空格而不是单词)?

我使用了 javascript:

string.replace(/word-|-/g," ");

所以我想替换这两个词:

 /word-
 -/

但是在 php 中怎么可能呢?我也试过用

 preg_replace(array('/word-','-/')," ",$string);

但什么都没有:(我希望你能帮助我

【问题讨论】:

  • 所以你想替换word--,对吗?我认为str_replace(array('word-', '-'), ' ', $string) 应该这样做。您的 preg_replace 已拆分分隔符。
  • 不,我想替换 /word 和 -/
  • 好的,非常感谢:)
  • /word-|-/ 查找word- -。它不会在文本中查找文字 /,因为 / 是正则表达式分隔符。如果要在文本中查找文字斜线,则需要 /\/word-|-\//

标签: php regex preg-replace str-replace


【解决方案1】:

这个:

str_replace(array('/word-', '-/'), ' ', $string);

应该适合你。 JS 示例中的 /s 是显示正则表达式开始和结束位置的分隔符。所以在 PHP preg_replace 你需要这样做:

preg_replace(array('~/word-~','~-/~')," ",$string);

或者更简单:

preg_replace('~(/word-|-/)~'), " ",$string);

请注意,上述内容与您所说的相符,但与您的 JS 正在做的不相符。

【讨论】:

    猜你喜欢
    • 2014-02-01
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多