use*_*606 0 php multilingual preg-replace
我有一个适用于多种语言的网站,我正在寻找一个 php 函数来从跨多种语言的字符串中去除所有垃圾。
示例:我将以下内容以印地语插入到我的数据库中,但对于其他语言也是如此。
??????? ?? ????? ???????? ????? ????...\'
所以你可以看到我得到了不需要的 ...\' 字符。
这并不适用于多种语言
$newString = preg_replace('/[^a-z0-9]/i', ' ', $text);
Run Code Online (Sandbox Code Playgroud)
我也试过,我真的不明白这里发生了什么,这也不起作用。
$newString = preg_replace(''/^[\p{L}\p{M}\p{Nd}]{2,}$/u'', ' ', $text);
Run Code Online (Sandbox Code Playgroud)
我真的只需要去掉键盘上不是字母或数字的所有东西,即
!@£$%^&*()_+=.<>/, etc etc
Run Code Online (Sandbox Code Playgroud)
我不确定字符串中的 ...\' 是否真的不是它看起来的样子,如果这有意义的话,因为如果我跑了。
$newString = str_replace("...\'", "", $text);
Run Code Online (Sandbox Code Playgroud)
这是我第一次真正深入了解多语言。
我设法用这个把它们弄出来:
$test = '??????? ?? ???? ?? ?????? ?? ???? ?? ????...\\';
$test = preg_replace('@[^\x{0900}-\x{097F}]@u', '', $test);
Run Code Online (Sandbox Code Playgroud)
输出
?????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
我使用的正则表达式替换了不在该 unicode 范围内的所有字符。
归档时间: |
|
查看次数: |
836 次 |
最近记录: |