preg_replace("/(\p{P})/",' ', $str)会把撇号去掉,但是它不应该这样做。请帮忙。
preg_replace("/(\p{P})/",' ', $str)
试试这个:
/\p{P}(?<!')/