PHP-删除括号和特殊字符


PHP - Removing Brackets and Special Characters

我想修改一个PHP字符串,以便将其用作锚标记。

我使用了这里的方法:从字符串中删除所有特殊字符

从字符串中删除"与"符号效果很好,但似乎没有删除或影响括号或标点符号。

以下是我目前使用的:

$name_clean = preg_replace('/ [^A-Za-z0-9'-]/', '', $name); // REMOVES SPECIAL CHARACTERS
$name_slug = str_replace(' ', '-', $name_clean); // REPLACES SPACES WITH DASHES IN TITLE
$link = strtolower( $name_slug ); // CREATES LOWERCASE SLUG VERSION OF TITLE_SLUG

我的字符串(在本例中为$name)=圣约翰(纽芬兰)。

我得到的输出=#st-约翰的纽芬兰)

我想把句号、撇号和括号都去掉。

如有任何帮助,我们将不胜感激!

正则表达式模式/ [^A-Za-z0-9'-]/显示为在打开的/之后包含一个空格。此模式将只匹配空格后面的特殊字符。删除该空间应该会得到您想要的结果。