Php 去除标点符号、符号、变音符号和特殊字符的最佳方法是什么?
我使用这些代码行删除所有标点符号、符号等,因为您可以在数组中看到它们Php 去除标点符号、符号、变音符号和特殊字符的最佳方法是什么?,php,preg-replace,special-characters,clean-urls,Php,Preg Replace,Special Characters,Clean Urls,我使用这些代码行删除所有标点符号、符号等,因为您可以在数组中看到它们 $pattern_page = array("+",",",".","-","'","\"","&","!","?",":",";","#","~","=","/","$","£","^","(",")","_","<",">"); $pg_url = str_replace($pattern_page, ' ', strtolower($pg_url)); 但它不会在分数下删除-\uuu 移除所有这些
$pattern_page = array("+",",",".","-","'","\"","&","!","?",":",";","#","~","=","/","$","£","^","(",")","_","<",">");
$pg_url = str_replace($pattern_page, ' ', strtolower($pg_url));
但它不会在分数下删除-\uuu
移除所有这些东西的最佳方法是什么?正则表达式可以做到这一点吗?根据您的贪婪程度,您可以执行以下操作:
$pg_url = preg_replace("/[^a-zA-Z 0-9]+/", " ", $pg_url);
这将替换任何不是字母、数字或空格的内容。使用类:
preg_replace('/[^[:alpha:]]/', '', $input);
将删除当前设置的区域设置不认为是“字符”的任何内容。如果它是标点符号,您试图消除它,那么类将是[:punct:][/code>
\W
表示“任何非单词字符”,与\W
相反,后者包含下划线()。除了[A-Za-z0-9]
-)之外,您可以删除所有字符
preg_replace('/[^[:alpha:]]/', '', $input);