如何获取所有基于拉丁语的字母字符的列表,但在PHP中排除“特殊字符”

时间:2013-02-18 12:33:10

标签: php character

我正在研究一个基于PHP的系统,该系统计划在欧洲各地推出,对于某个表单字段,我试图将输入限制为仅仅是字母字符。

然而,这可能是英语字母表的幌子 - 而且还有德语,拉脱维亚语,波兰语,法语,西班牙语等字母表。

我正在研究ISO-8859-1(http://en.wikipedia.org/wiki/Western_Latin_character_sets_(computing)#Comparison_table),就字母表而言似乎相当完整。但我认为在字母字符和英语中我所知道的“特殊字符”之间没有简单的方法。

我也认识到,就ISO-8859-1而言,我可能正在咆哮错误的树。多年来我一直没有以类似的方式使用字符集,所以也许有更好的方法来实现这个目标?

想到的特殊字符将是:

  • <!/ LI>
  • `

还有更多。

是否有现成的功能可以使用PHP或任何其他快捷方式完成此任务?

2 个答案:

答案 0 :(得分:1)

您可以手动编写特殊字符并使用函数preg_match()

$ chars =“ÄäÖöÅå!%”; //添加你也可以添加,已经添加了常用的拉丁字符

if (isset($_GET['name'])){
    if (preg_match("/^[A-Za-z{$chars}]+$/", $_GET['name'])){
        echo "Input ok, proceed") ;
       //Do stuff
    } else {
        echo "Some of characters in your input are not allowed" ;
    }
} else {
    echo "The no form submitted" ;
}

答案 1 :(得分:1)

这个库似乎正在做你想要的: https://github.com/jbroadway/urlify