PHP 删除除字母和连字符 (-) 以外的所有内容

标签 php regex filter

我正在制作一个表单,要求输入用户的名字和姓氏,但我不想让他们输入

$heil4

我希望他们进入

Sheila

我知道如何过滤除字母以外的所有内容,但我知道有些名字可以有

Sheila-McDonald

那么我该如何删除字符串中除了字母和连字符之外的所有内容呢?

最佳答案

简单使用

$s = preg_replace("/[^a-z-]/i", "", $s);

或者如果你想将一些非ascii字符转换成ascii,比如Jean-RémyJean-Remy,那么使用

$s = preg_replace("/[^a-z-]/i", "", iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $s)); 

关于PHP 删除除字母和连字符 (-) 以外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13219894/

相关文章:

javascript - 如何(在哪里)存储网站中实时操作的信息?

javascript - JS string.replace(regex, function) 并不贪婪

regex - 如何从字符串中删除单引号等特殊字符?

regex - VIM - 正则表达式 - 多行搜索查询字段值的变化

python - py.test Tracebacks : Highlight my code, 框架的折叠框架

php - Woocommerce - 获取订单商品的价格和数量。

php - 如何从 PHP 数组中的每个字符串中删除文件扩展名?

ios - 我如何使用 NSPredicate 从数组中选择一个确切的短语?

javascript - CSS 显示属性问题

java - 高斯滤波器不影响java中的输入图像