我的图片板上有Zalgo的问题。
下面的文字弄乱了我的图像板。有没有办法防止这些字符并“修复”或清理文本?
示例文本 Source :
所有人都爱我所有我失去了他来的pon̷他̶̮他来到ich或渗透所有我的面对我的面孔ᵒh上帝不会NOO̼OONΘ停止一个*̶͑̾̾̅ͫ͏̙̤g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨe̠̅s͎a̧͈͖r̽̾̈͒͑enotrè̑ͧ̌aͨl̘̝̙ͤ̾̆ ZA̡͊͠͝LGΌISͮ҉̯͈͕̹̘TO͇̹̺Ɲ̴ȳ̳TH̘̘͖̯͍̭̉͠͠N̚Y̡H̸̡̡̪̯ͨ͊̽̅̾Ȩ̬̩̾͛ͪ̈͘C̷̙̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̖͊̒ͪͩͬ̚̚͜Ȇ̴̟̟͙̞ͩ͌͝S̨̥̫͎̭ͯ̿̔
我尝试使用此解决方案:
$cleanMessage = preg_replace("/[^\x20-\xAD\x7F]/", "", $input_lines);
从这里采取:Remove special characters that mess with formating 但它只适用于拉丁字符 任何人都可以帮助我吗?
答案 0 :(得分:2)
此正则表达式替换$text
变量中的每个上标符号:
$text = preg_replace("~[\p{M}]~uis","", $text);
如果$text
包含带上标的字符,例如กิ
,此正则表达式将删除该上标符号,结果$ text将仅包含ก
。
我对此正则表达式进行了改进,并将其更改为仅过滤第二级语音标记
$text = preg_replace("~(?:[\p{M}]{1})([\p{M}])+?~uis","", $text);
此正则表达式将仅过滤第二级上标符号。 如果要使用保留标记过滤deutch或其他语言,请使用它。 这个正则表达式将改变这个词 -
͐̈ͩ̎Zͮ͌ͦ͆ͦͤÃ̉͛̄ͭ̈̚LͫG̉̋͂̉Oͨ͌̋͗!
进入:ZÄLͫGO!
我希望第二个正则表达式会帮助你。