gpt4 book ai didi

php - 使用 ctype_alpha 时允许撇号?

转载 作者:行者123 更新时间:2023-12-03 22:38:59 26 4
gpt4 key购买 nike

我知道还有其他方法可以做到这一点,但我正在尝试使用 ctype_alpha 验证名称字段,但允许空格、连字符和撇号。

根据 Stack 上的另一篇文章,我能够毫无问题地添加空格,但我认为我替换多个字符的语法错误。

我目前使用的用于验证仅允许字母和空格的方法:

if (ctype_alpha(str_replace(' ', '', $name)) === false) {
echo'Name must contain letters and spaces only';
exit;
}

这会在检查字符串是否仅为字母之前删除所有空格。我想简单地添加到这里以允许使用连字符和撇号。

我尝试添加连字符和/或撇号(不起作用):

if (ctype_alpha(str_replace(' ', '', '-', '', $name)) === false) {
echo'Name must contain letters and spaces only';
exit;
}

我的猜测是在 str_replace 函数中添加第二个字符串不是正确的语法,但作为 PHP 新手,我很难弄清楚如何用我的搜索短语来找到正确的语法。

此外,一旦我找出 str_replace 函数的正确语法,我所说的“\w”将覆盖我的撇号是否正确?

真诚地感谢提供帮助的人。你们都是无价之宝,我努力不滥用它。

最佳答案

正确的语法,如 manual 中所述是:

if (ctype_alpha(str_replace(array(' ', '', '-'), '', $name)) === false) {
echo'Name must contain letters and spaces only';
exit;
}

带撇号

if (ctype_alpha(str_replace(array(' ', '', '-',"'"), '', $name)) === false) {
echo'Name must contain letters and spaces only';
exit;
}

关于php - 使用 ctype_alpha 时允许撇号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43990115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com