3
4

2 回答 2

4

Just use regex with unicode modifier u and a character class:

$output = preg_replace('#\p{Pd}#u', '-', $input);

From the manual : Pd Dash punctuation

Online demo

于 2013-08-14T14:45:59.910 回答
1

怎么样:

$string = str_replace(array('-','–','-','—', ...), '-', $string);

使用上面的代码,看看它是否有效。如果您仍然看到一些破折号没有被替换,您可以将它们添加到数组中,它会起作用。

于 2013-08-14T14:36:57.130 回答