$html=strip_tags($html);
$html=ereg_replace("[^A-Za-zäÄÜüÖö]"," ",$html);
$words = preg_split("/[\s,]+/", $html);
这不会用空格替换所有非(A-Z,a-z,带有变音符号的字符)字符吗? 我正在丢失zugänglich等字母与变音符号
正则表达式有什么问题吗?
编辑:
我用preg_replace替换了ereg_replace但是某些特殊字符如:,®没有被空格替换......
答案 0 :(得分:3)
如果您的方法成功,首先取决于编码。当所有变形金刚被剥离后,你的源文本(或php脚本)很可能被编码为UTF-8。
在这种情况下,请使用:
$text = preg_replace('/[^\p{L}]/u', " ", $text);
这将匹配所有字母字符,而不仅仅是变音符号。并/u
解决了您可能遇到的字符集问题。
答案 1 :(得分:0)
也许,你的变音符号仍然是包含非字母数字字符的html-entities(& auml;等),将被删除......
顺便说一句:字母数字不只是a-Z而是数字......
答案 2 :(得分:0)
正则表达式应为/[^A-Za-zäÄÜüÖö]+/