【问题标题】:PHP: Conditional charset replace in preg_replacePHP:preg_replace 中的条件字符集替换
【发布时间】:2011-04-15 17:22:14
【问题描述】:

我有一个网站被抓取到 $html 变量中。

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

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

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

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

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

【问题讨论】:

标签: php regex replace character-encoding


【解决方案1】:

或者你可以尝试添加

utf8_encode($string);

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 2021-10-08
    • 1970-01-01
    • 2021-10-19
    • 2016-10-02
    • 2014-08-17
    相关资源
    最近更新 更多