2010-09-22 73 views
0

我有一个网站被刮到$ html变量。PHP:条件字符集替换preg_replace

现在我想这个表达

$string1 = preg_replace('/[^A-Za-z0-9äöü!&_=\+-]/i', ' ', $string); 

的问题来代替某些字符是有不同而造成的字符集的特殊字符。

我有一个变量$ charset,其中页面的字符串字符串被保存。 即$字符集= UTF-8格式“UTF-8”或ISO-8859-1 这是德国的字母U,我想在ISO 8859是那张

更换有没有一种可能告诉更换函数根据页面 的字符集而不为每个可能的字符集制作单独的正则表达式?

+0

如果你知道字符集,你可以使用http://www.php.net/manual/de/function.mb-convert-encoding.php – Hannes 2010-09-22 12:55:34

+0

感谢,我一直在寻找的是 – ndi 2010-09-22 13:45:01

回答

0

或者你可以尝试添加

utf8_encode($string); 

权利之前的preg_replace。我不确定它会解决你的问题,但它可能会。

欲了解更多信息,请参阅:http://se2.php.net/manual/en/function.utf8-encode.php

+0

感谢,也很有趣 – ndi 2010-09-22 13:48:35

+0

我很高兴有帮助。你尝试过utf8_encode吗?它有用吗? – matsolof 2010-09-22 15:32:04