【问题标题】:PHP preg_replace - String Begins With Forward SlashPHP preg_replace - 字符串以正斜杠开头
【发布时间】:2015-09-10 02:25:00
【问题描述】:

尝试使用 preg_replace 查找以正斜杠开头和结尾的字符串,例如 "/Harry/"。 (必须是 preg_replace)

我还需要忽略大小写并确保它是一个单独的单词。到目前为止,我有以下内容,但我没有运气让它工作:(

$old_words[0] = '/\b\/Harry\/\b/i';

$new_words[0] = 'Wizard';

$chat = preg_replace($old_words, $new_words, $chat);

【问题讨论】:

    标签: php string preg-replace


    【解决方案1】:

    如果您的问题真的只是单词边界\b,那么您可以尝试一些辅助断言:

    $old_words[0] = '#(?<!\w)/Harry/(?!\w)#i';
    

    这基本上确保了斜线之前或之后不会出现任何字母。

    【讨论】:

      【解决方案2】:

      如果只想替换单个单词,则不必使用preg_replace。请改用str_ireplace(用于不区分大小写的替换)。但是,您可以使用除 / 以外的其他字符作为正则表达式的分隔符:#、~、...

      【讨论】:

        猜你喜欢
        • 2016-05-10
        • 1970-01-01
        • 2016-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-26
        • 2018-02-27
        相关资源
        最近更新 更多