0

我正在尝试从我的字符串中删除 ' 。

这是我的代码:

$page_title = strtolower(wp_title( '', false, 'right' ));
echo $page_title;
echo "<br/>";
$clean = preg_replace('/[^A-Za-z0-9\-]/', '', $page_title);
echo $clean;

输出:

regio’s 
regio8217s

为什么它返回 8217 而不是 ''?

提前致谢

4

2 回答 2

1

您的报价已转换为其 unicode 值 ( &#8217;)(例如,请参见此处)。这是一个特殊字符,而不是标准字符。

于 2013-06-19T19:03:44.843 回答
0

尝试preg_replace('/[^A-Za-z0-9\-]/u', '', $page_title);

模式后的 u 也处理 unicode 字符。

于 2013-06-19T19:04:57.733 回答