gpt4 book ai didi

php - CTYPE_ALNUM 的奇怪之处

转载 作者:太空宇宙 更新时间:2023-11-04 15:20:22 25 4
gpt4 key购买 nike

PHP 函数 CTYPE_ALNUM 有这个奇怪的问题

如果我这样做:

PHP:

$words="àòè";


if(ctype_alnum($words)){

Echo "Don't work";

}else{

Echo "Work";

}

这将回显“工作”

但是如果我有一个表格并且在那个表格中我插入带有坟墓的字母(à,è,ò)这将回显“不工作”

代码:

  <form action="" method="post"> 

<input type="text" name="words" />
<input type="submit" />

</form>


$words=$_POST['words'];

if(isset($words)){

if(ctype_alnum($words)){

Echo "Don't Work";

}else{

Echo "Work";

}

}

如果我在文本中插入字母 à 或 è 或 ò 这将回显“不工作”

最佳答案

ctype_alnum 是语言环境相关的。这意味着如果您使用标准的 C 语言环境或像 en_US 这样的普通语言环境,则不会匹配重音字母,只会匹配 [A-Za-z ]。您可以尝试通过 setlocale 将语言环境设置为识别这些派生的语言。 (请注意,语言环境需要安装在您的系统上,并非所有系统都一样),或者使用更便携的解决方案,例如:

function ctype_alnum_portable($text) {
return (preg_match('~^[0-9a-z]*$~iu', $text) > 0);
}

关于php - CTYPE_ALNUM 的奇怪之处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10010430/

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