我需要从字符串中删除所有特殊字符,除了- ( )
到目前为止我有这个代码
$q = preg_replace('/[^A-Za-z0-9\-]/', '', $q); //removes ALL characters
如何排除- ( )
?
我需要从字符串中删除所有特殊字符,除了- ( )
到目前为止我有这个代码
$q = preg_replace('/[^A-Za-z0-9\-]/', '', $q); //removes ALL characters
如何排除- ( )
?
您的正则表达式已经排除-
.
否则,将括号放在否定字符类中:
$q = preg_replace('/[^A-Za-z0-9() -]/', '', $q);
此外,您不需要逃避破折号。
你应该尝试类似的东西
$q = preg_replace('/[^A-Za-z0-9\-\(\) ]/', '', $q); //removes ALL characters
以上将允许spaces
, (
,)
以及-
。
你应该使用这个功能:
public function getAlphaNumericString($string) {
return preg_replace('/[^A-Za-z0-9\- ]/', '', $string); // Removes special chars.
}
任何你想例外的例子 => 。是例外,其他特殊字符将被删除 preg_replace('/[^A-Za-z0-9-]/(.)', '', $string);
function url($string)
{
return strtolower(trim(preg_replace('~[^0-9a-z]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-'));
}
$url_name = 'manoj&chauhan';
echo =$url(url_name );
// result manoj-chauhan