我想允许所有utf8字符,但想用空格或-
这是绳子

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

99 Mar gaye...

1 Bach gaya

我所做的一切都不是在列车后插入
在火车上修剪
我试过这两个环节
Remove non-utf8 characters from string
Replacing invalid UTF-8 characters by question marks, mbstring.substitute_character seems ignored
我希望在mysql中插入完整的utf8范围,并用空格或-
$string = preg_replace('/[^(\x20-\x7F)]*/','', $string);

适用于上述情况,但当我使用印地语/中文时,它也会取代它。所以我不能使用上述代码

最佳答案

试试这个:对于Unicode只使用修饰符u

    $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

09-19 18:26