【问题标题】:Exclude symbol from regular expression PHP从正则表达式 PHP 中排除符号
【发布时间】:2013-04-10 00:00:22
【问题描述】:

我目前正在使用以下内容从符号/未知字符中清除字符串:

$title = preg_replace("/[^a-zA-Z0-9-]/", " ", $title);

但是,我不想从字符串中删除 '&'

谁能帮帮我?

谢谢!

【问题讨论】:

  • 你没有从字符串中删除'&',我不明白。

标签: php regex replace


【解决方案1】:

看看这个漂亮的备忘单,它会在以后派上用场。

【讨论】:

    【解决方案2】:

    字符类开头的^[^... ] 表示该类中的所有字符都应从匹配中排除。在您的情况下,不应删除此字符。所以像这样在类中添加&

    $title = preg_replace("/[^a-zA-Z0-9-&;]/", " ", $title);
    

    【讨论】:

    • 这就是我的意思 :D 它目前也没有删除破折号 (-) 吗?我不确定是否需要 9 之后的破折号,或者是否可以将其排除在删除之外。最后一个问题,通过在列表中添加“&”,是否还会注意删除“amp&;” ?感谢您的帮助!
    • - 也被排除在删除之外,因此也是正则表达式的一部分。如果您想从输入字符串中删除-,则将其从正则表达式中删除。如果输入字符串中有&,目前只会删除结尾的;
    • 所以不要删除“&”、“-”和“amp&;”它会是: $title = preg_replace("/[^a-zA-Z0-9-&;]/", " ", $title);
    猜你喜欢
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-16
    相关资源
    最近更新 更多