PHP:preg_replace中的条件字符集替换

时间:2010-09-22 12:51:24

标签: php regex replace character-encoding

我有一个网站被刮入$ html变量。

现在我想用这个表达式替换一些字符

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

问题是由不同的字符集引起的特殊字符。

我有一个变量$ charset,其中保存了页面的charset字符串。 即$ charset =“utf-8”或iso-8859-1 在utf-8中,它是德语字母ü我想在iso-8859-1中替换它的¼

是否有可能根据页面的字符集告诉替换功能 没有为每个可能的字符集制作单独的正则表达式?

1 个答案:

答案 0 :(得分:0)

或者您可以尝试添加

utf8_encode($string);

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

有关详细信息,请参阅:http://se2.php.net/manual/en/function.utf8-encode.php