正则表达式字符查找替换

时间:2014-01-08 23:15:41

标签: php regex

我是PHP的正则表达式的新手,并有一个问题

我想做什么(用PHP):

  1. 查找字符串是否包含名称中的特殊字符或非字母(例如,如果术语包含-*.&等等)
  2. 如果字符串包含特殊字符 - 请使用str_replace查找并替换它。样本字符串包括'e * trade','e-trade','Barnes& Noble'等。

1 个答案:

答案 0 :(得分:2)

仅替换符号

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

输出:

  

巴恩斯 - 诺布尔


如果字符串与符号匹配,则替换该字符串的所有部分:

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

输出:

  巴恩斯不是那么高贵


http://ideone.com/ByXagy