删除标点符号、符号、变音符号和特殊字符的最佳方法是什么?

我使用这些代码行删除您可以在数组中看到的所有标点符号、符号等

$pattern_page = array("+",",",".","-","'",""","&","!","?",":",";","#","~","=","/","$","£","^","(",")","_","<",">");

$pg_url = str_replace($pattern_page, ' ', strtolower($pg_url));

但我想让它更简单,因为列出我要在数组中删除的所有内容看起来很愚蠢,因为可能还有其他一些我要删除的特殊字符。

我想使用下面的正则表达式

$pg_url = preg_replace("/W+/", " ", $pg_url);

但不会删除分数不足-_

移除所有这些东西的最佳方法是什么?正则表达式可以做到这一点吗?


解决方案

根据您的贪婪程度,您可以执行如下操作:

$pg_url = preg_replace("/[^a-zA-Z 0-9]+/", " ", $pg_url);

这将替换任何不是字母、数字或空格的内容。

相关文章