删除阿拉伯语中的垃圾字符

发布于 2024-11-19 14:37:51 字数 365 浏览 1 评论 0原文

我需要从字符串中删除所有非阿拉伯字符,最终在人们的帮助下来自 stack-overflow 能够提出以下正则表达式来删除所有非阿拉伯字符。

preg_replace('/[^\x{0600}-\x{06FF}]/u','',$string);

问题是上面也删除了空格。现在我发现我还需要来自 AZ,az,0-9, !@#$%^&*() 的字符。那么我需要如何修改正则表达式呢?

谢谢你

I needed to remove all non Arabic characters from a string and eventually with the help of people from stack-overflow was able to come up with the following regex to get rid of all characters which are not Arabic.

preg_replace('/[^\x{0600}-\x{06FF}]/u','',$string);

The problem is the above removes white spaces too. And now I discovered I would need character from A-Z,a-z,0-9, !@#$%^&*() also. So how do I need to modify the regex?

Thanking you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

記憶穿過時間隧道 2024-11-26 14:37:51

将您想要保留的角色添加到角色类别中:

preg_replace('/[^\x{0600}-\x{06FF}A-Za-z !@#$%^&*()]/u','', $string);

Add the ones you want to keep to your character class:

preg_replace('/[^\x{0600}-\x{06FF}A-Za-z !@#$%^&*()]/u','', $string);
巷雨优美回忆 2024-11-26 14:37:51

假设您有这个字符串:

$str = "Arabic Text نص عربي test 123 و,.m,............ ~~~ ٍ،]ٍْ}~ِ]ٍ}";

这将仅保留带有空格的阿拉伯字符。

echo preg_replace('/[^أ-ي ]/ui', '', $str);

这将使阿拉伯语和英语字符与数字保持一致,

echo preg_replace('/[^أ-يA-Za-z0-9 ]/ui', '', $str);

这将在稍后回答您的问题。

echo preg_replace('/[^أ-يA-Za-z !@#$%^&*()]/ui', '', $str);

assume you have this string:

$str = "Arabic Text نص عربي test 123 و,.m,............ ~~~ ٍ،]ٍْ}~ِ]ٍ}";

this will keep arabic chars with spaces only.

echo preg_replace('/[^أ-ي ]/ui', '', $str);

this will keep Arabic and English chars with Numbers Only

echo preg_replace('/[^أ-يA-Za-z0-9 ]/ui', '', $str);

this will answer your question latterly.

echo preg_replace('/[^أ-يA-Za-z !@#$%^&*()]/ui', '', $str);
美煞众生 2024-11-26 14:37:51

从上面的示例更详细地看,考虑下面是您的字符串:

$string = '<div>This..</div> <a>is<a/> <strong>hello</strong> <i>world</i> ! هذا هو مرحبا العالم! !@#$%^&&**(*)<>?:";p[]"/.,\|`~1@#$%^&^&*(()908978867564564534423412313`1`` "Arabic Text نص عربي test 123 و,.m,............ ~~~ ٍ،]ٍْ}~ِ]ٍ}"; ';

代码:

echo preg_replace('/[^\x{0600}-\x{06FF}A-Za-z0-9 !@#$%^&*().]/u','', strip_tags($string));

允许:英文字母、阿拉伯字母、0到9和字符!@#$%^&*( ).

删除: 所有 html 标签以及除上述之外的特殊字符

In a more detailed manner from Above example, Considering below is your string:

$string = '<div>This..</div> <a>is<a/> <strong>hello</strong> <i>world</i> ! هذا هو مرحبا العالم! !@#$%^&&**(*)<>?:";p[]"/.,\|`~1@#$%^&^&*(()908978867564564534423412313`1`` "Arabic Text نص عربي test 123 و,.m,............ ~~~ ٍ،]ٍْ}~ِ]ٍ}"; ';

Code:

echo preg_replace('/[^\x{0600}-\x{06FF}A-Za-z0-9 !@#$%^&*().]/u','', strip_tags($string));

Allows: English letters, Arabic letters, 0 to 9 and characters !@#$%^&*().

Removes: All html tags, and special characters other than above

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文