douwan4993 2014-01-08 23:15
浏览 6
已采纳

正则表达式查找替换[关闭]

i am new to regex in PHP, and had a question

What i am trying to do (in PHP):

  1. Find whether a string contains special characters or non-alphabets in a name (e.g. if term contains -, *, ., &, etc)
  2. If string contains special characters - find and replace it using str_replace. Sample strings include 'e*trade', 'e-trade', 'Barnes&Noble', etc.
  • 写回答

1条回答 默认 最新

  • dtll2016 2014-01-08 23:41
    关注

    Replace Symbols only

    <?php
    $regex = "/[-*.&]/";
    $subject = "Barnes&Noble";
    $replacement = "-";
    $result = preg_replace($regex, $replacement, $subject);
    echo $result;
    

    Output:

    Barnes-Noble


    Replace all parts of the string if it matches Symbols:

    <?php
    $regex = "/(.*)([-*.&])(.*)/";
    $subject = "Barnes&Noble";
    $replacement = "$1 is not so $3";
    $result = preg_replace($regex, $replacement, $subject);
    echo $result;
    

    Output:

    Barnes is not so Noble


    http://ideone.com/ByXagy

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害