PHP 从字符串中删除符号

标签 php string symbols

通过互联网和本网站搜索,我发现了几个关于此事的主题。事实是,如果插入的字符串必须仅包含拉丁字母的字符,那么有无数的解决方案,但是当情况需要其他字母的文本时,它就会变得有点棘手。

有什么方法可以在 PHP 中去除字符串中的所有符号,但保留所有 UTF-8 字母表中的实际字母吗?我已经尝试过创建键盘所有字符的数组,然后使用 str_replace 或 preg_replace 删除它们,但后来我发现不同的国家/地区也有不同的键盘,有时包含不同的符号。例如,我的 qwerty 键盘没有 £ 符号,而英式键盘可能有。

我知道这是一个奇怪的问题,我只是想知道是否有一个我可能错过的简单解决方案。

任何帮助将不胜感激!

编辑: 好的,经过一些更好和扩展的谷歌搜索后,我发现以下正则表达式可以很好地满足我的需要,它保留所有类型字母表的所有字母,同时删除所有符号。我在这里分享它,以防其他人也需要这样做。

$string = preg_replace('/[^\p{L}\p{N}\s]/u', '', $string);

最佳答案

解决办法是这样的: $string = preg_replace('/[^\p{L}\p{N}\s]/u', '', $string);

关于PHP 从字符串中删除符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16733674/

相关文章:

php - Symfony2 和 Doctrine : One to Many relationship

python - 检查以确保字符串不包含多个值

visual-studio-2010 - VS2010 : "No matching binary found" when trying to load symbols for crashdump

ruby - 符号数组是否有文字符号?

asp.net-mvc - 将数学符号插入 tinymce 4?

javascript - 如何使用jquery ajax调用php函数

javascript - 如何从调用 php 函数的 javascript 中显示数据?

php - 如何从查询中获取结果并将结果插入到其他表中?

java - 将字符串值转换为变量名 |字符串值包含变量名

java - 使用拆分函数拆分字符串时删除回车