在PHP中,我们如何优先考虑一个检查的结果消息而不是另一个?
我的PHP文件中有两个不同的if条件,有两个不同的消息。
某些字符串与两者匹配,但即使if !(preg_match)
位于脚本中的!(preg_match)
上方,结果也会显示if (preg_match('/^[\x{0600}-\x{06FF}]*$/u', $value)){
$return = $register_msg['ihc_error_please_write_yourname_in_english'];
}
if (!preg_match('~[eyuioa]~',$value)) {
$return = $register_msg['ihc_error_no_vowels_found'];
}
的错误消息
示例:
['ihc_error_no_vowels_found']
现在,当用户通过阿拉伯字符输入他的名字时,尽管他的字符串符合这两个条件,但不幸的是他获得['ihc_error_please_write_yourname_in_english']
而不是获得{{1}}。
答案 0 :(得分:1)
您可以使用
htmlmin: {
dist: {
options: {
removeComments: true,
collapseWhitespace: true,
minifyJS: true,
minifyCSS: true,
processScripts: ['application/ld+json']
},
files: [{
expand: true,
cwd: '_site',
src: ['**/*.html', '**/*.xml'],
dest: '_staging/'
}]
}
},
请参阅PHP demo,其中包含阿拉伯语单词
$register_msg = ['ihc_error_please_write_yourname_in_english' => 'English, please!', 'ihc_error_no_vowels_found' => 'No vowels!' ];
$value = 'سبعة';
$return = "";
if (preg_match('/^[\x{0600}-\x{06FF}]*$/u', $value)){
$return .= $register_msg['ihc_error_please_write_yourname_in_english'] . PHP_EOL;
} else if (preg_match('~^[A-Za-z]+$~',$value) && !preg_match('~[eyuioa]~',$value)) {
$return .= $register_msg['ihc_error_no_vowels_found'] . PHP_EOL;
}
echo $return;
使用English, please!
值(请参阅this PHP demo)得出
SFGH
No vowels!
检查字符串是否只包含1个以上的ASCII字母。