替换非utf8字符

时间:2014-12-04 16:42:29

标签: php mysql regex utf-8

我想允许所有utf8字符,但想要用空格替换非utf8或 -

这是字符串

Punjab me 1Train k niche 100 Sardar aa gaye..

99 Mar gaye...

1 Bach gaya

无论我做什么都不是在火车后插入

在火车上修剪

我试过这两个链接

我希望在mysql中插入完整的utf8范围,并将非utf8替换为空格或 -

$string = preg_replace('/[^(\x20-\x7F)]*/','', $string);

适用于上述情况但是当我使用hindi / chinese时它也会替换它。所以我不能使用上面的代码

2 个答案:

答案 0 :(得分:0)

试试这个:仅使用修饰符u进行Unicode

    $re = "/[^(\\x20-\\x7F\\n)]+/u";
    $str = "Punjab me 1Train k niche 100 Sardar aa gaye..\n\n99 Mar gaye...\n\n1 Bach gaya";
    $subst = "";

    $result = preg_replace($re, $subst, $str);

Live demo

答案 1 :(得分:0)

尝试一下: 使用str_replace()函数:

$str = "Punjab me 1Train k niche 100 Sardar aa gaye..";
$rpl_arr = array('', '');
$srch_arr = array(' ', ' ');
$result = str_replace($rpl_arr, $srch_arr);