dpm91915 2018-02-07 14:45
浏览 153
已采纳

正则表达式 - 用PHP替换所有特定的特殊字符

I am trying to remove some specific special characters from my strings and also the letters

These are the special characters /,-‗‖*<>:;^’+. This is what I tried:

$telephone = preg_replace('[^/,-‗‖*<>:;^’+]', '', $telephone);

Example: adadsdad131231231222/,-‗‖*<>:;^’+22222 , should become: 13123123122222222

But I am not so good with regex. I tried to find smth similar, with specific characters , but aren't any posts :( Can you help me with this ?

UPDATE Another example: adadsdad131231231222/,-‗‖*<&>:;^’+22222 should become 131231231222&22222

  • 写回答

1条回答 默认 最新

  • dongyun234854 2018-02-07 14:47
    关注

    You had these mistakes in your regex:

    • ^ in the beginning negates the character class. So, I escaped it with \
    • - in the middle will let you match a range of characters. Hence, I moved it to the end of the character class
    • You did not include the range a-z

    Try this regex:

    (?i)[\^\/,‗‖*<>:;^’+a-z-]+
    

    Replace matches with a blank string

    Click for Demo

    Code Result

    Explanation:

    • (?i) - case-insensitive modifier
    • (?i)[\^\/,‗‖*<>:;^’+a-z-]+ - matches either a letter or any of these characters ^,/,,,*,<,>,:,;,+,-
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?