【发布时间】:2013-03-24 06:17:26
【问题描述】:
在这里的一篇文章中我发现了这个表达
// Replaces every non-letter, non-digit with a dash
$str = preg_replace('/(?=\P{Nd})\P{L}/u', '-', $str);
效果很好,但如何保留基本的标点符号和空格?
我尝试过类似的方法
$str = preg_replace('/(?=\P{Nd})\P{L}\P{P}/u', '-', $str);
或
$str = preg_replace('/[^\P{Nd}\P{L}\P{P}$]/u', '-', $str);
或
$str = preg_replace('/[\P{Nd}\P{L}\P{P}]/u', '-', $str);
没有任何效果。
【问题讨论】:
标签: regex utf-8 preg-replace