我有一个excel文档,我使用库在MySQL中导入。
但是文档中的一些文本包含破折号,我虽然已经替换了,但显然不是全部。
-
,–
,-
< - 所有这些都不同。
有什么方法可以用这个-
主要问题是我不知道计算机中存在的所有破折号。
答案 0 :(得分:4)
只需使用带有unicode修饰符u
的正则表达式和一个字符类:
$output = preg_replace('#\p{Pd}#u', '-', $input);
From the manual:Pd Dash punctuation
答案 1 :(得分:1)
怎么样:
$string = str_replace(array('-','–','-','—', ...), '-', $string);
使用上面的代码,看看它是否有效。如果你仍然看到一些破折号没有被替换,你可以将它们添加到数组中,它会起作用。