像 PHP strip punctuation ,但我想保留撇号。
例子:
I'm a student, but I don't like the school. I'll quit school.
剥离后的字符串应为:
I'm a student but I don't like the school I'll quit school
我怎样才能用正则表达式或其他方式做到这一点?
最佳答案
如果您还想支持所有 Unicode 标点符号,请使用以下正则表达式:
$str = preg_replace("#((?!')\pP)+#", '', $str);
此正则表达式匹配 Unicode 标点字符类
\pP
并且匹配将使用负前瞻避免撇号字符。关于PHP条标点符号保留撇号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10724920/