PHP - 删除括号和特殊字符
PHP - Removing Brackets and Special Characters
我想修改 PHP 字符串,以便将其用作锚标记。
我使用了这里找到的方法:Remove all special characters from a string
从我的字符串中删除 & 符号效果很好,但它似乎没有删除或影响括号或标点符号。
这是我目前使用的:
$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.-john'snewfoundland)
我想完全删除句点、撇号和括号。
如有任何帮助,我们将不胜感激!
您的正则表达式模式 / [^A-Za-z0-9\-]/
似乎在开头 /
之后包含一个 space。此模式将仅匹配 space 之后的特殊字符。删除 space 应该会得到你想要的结果。
我想修改 PHP 字符串,以便将其用作锚标记。
我使用了这里找到的方法:Remove all special characters from a string
从我的字符串中删除 & 符号效果很好,但它似乎没有删除或影响括号或标点符号。
这是我目前使用的:
$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.-john'snewfoundland)
我想完全删除句点、撇号和括号。
如有任何帮助,我们将不胜感激!
您的正则表达式模式 / [^A-Za-z0-9\-]/
似乎在开头 /
之后包含一个 space。此模式将仅匹配 space 之后的特殊字符。删除 space 应该会得到你想要的结果。