从电话号码查询%中删除特殊字符%

时间:2014-01-20 20:23:25

标签: php mysql

我在mysql中有以下查询:

foreach($keywords as $keywordKey => $keyword){
  $query = $query . " AND (id='".$keyword."' OR name LIKE '%".$keyword."%' OR email LIKE '%".$keyword."%' OR phone LIKE '%".$keyword."%')";
}
$query = $query . " ORDER BY name";
$queryResult = mysql_query($query) or die('Error al ejecutar la busqueda de clientes con los parametros suministrados: '.mysql_error());;

$keyworks是一个包含搜索栏数据的数组。我想删除phone LIKE '%".$keyword."%'中的特殊字符,因为用户可以在电话号码字段使用“。 - ()”进行注册,我使用“干净”的电话号码(没有特殊字符)搜索它们。我怎么能在mysql中做到这一点?

1 个答案:

答案 0 :(得分:1)

我会在mysql之外执行此操作并使用php和一些正则表达式。

$phoneNumber = preg_replace('[^0-9]', '', $keyword);

这将取代所有非数字字符