如何使用php排除regEx中MS Word创建的垃圾字符

如何使用php排除regEx中MS Word创建的垃圾字符,php,regex,ms-word,Php,Regex,Ms Word,我用$text=fread($filename,$filesize)阅读MS Word文档 然后,当我回显$text时,它有一些浏览器无法正确显示的字符,并输出一些损坏的字符。我正试图用以下正则表达式清除它们: preg_替换('/[^\w]/','.$text)但它没有按我想要的那样工作 有人能帮忙吗?正如评论中已经提到的,您应该使用一个工具,将.doc文件转换成更有用的东西,如纯文本 否则,在输出每一行时,您可以尝试使用以下regexp,它只在字符串中保留数字、单词和空白字符: preg_r

我用$text=fread($filename,$filesize)阅读MS Word文档

然后,当我回显$text时,它有一些浏览器无法正确显示的字符,并输出一些损坏的字符。我正试图用以下正则表达式清除它们:

preg_替换('/[^\w]/','.$text)但它没有按我想要的那样工作


有人能帮忙吗?

正如评论中已经提到的,您应该使用一个工具,将.doc文件转换成更有用的东西,如纯文本

否则,在输出每一行时,您可以尝试使用以下regexp,它只在字符串中保留数字、单词和空白字符:

preg_replace("/^([^\d\w\s])$/i", "", $text);

这不是正确的方法。使用转换工具(例如antiword或libroffice headless)。关于工具,您的观点可能是正确的,但我使用的是共享主机。。