到目前为止,这是我的代码:
if (preg_match('/\s/',$tagName)){
$_ErrorMessage = "<div class='alert alert-danger' id='errorBox'>";
$_ErrorMessage.= "<b>Error!</b> La etiqueta no puede contener espacios. Asegúrese de escribirla correctamente.";
$_ErrorMessage.= "</div>";
} elseif(preg_match('/[^A-Z]/i', $tagName)){
$_ErrorMessage = "<div class='alert alert-danger' id='errorBox'>";
$_ErrorMessage.= "<b>Error!</b> La etiqueta no puede contener carácteres especiales. Cáracteres especiales son todos aquellos que no estan dentro del alfabeto. Por favor escríbala de nuevo.";
$_ErrorMessage.= "</div>";
} else {
$insertNewTagQuery = sprintf("INSERT IGNORE INTO solution_tags (SOLUTION_TAGS_NAME)VALUES(LOWER('%s'))", $tagName);
if($DBConnect->query($insertNewTagQuery)){
header("Location:http://127.0.0.1/helpdesk/admin/thankyou.php");
}
}
使用上面的代码,我正在检查标签所在的字符串是否有空格,以及是否有除字母表之外的任何特殊字符。
给出了第二个想法,并且在课堂上的工程师说标签可以是复合词并且具有特殊字符和数字,例如Internet Explorer
或'google-chrome'或HTML5
我决定修改这个小小的脚本。
问题是我没有任何关于构建正则表达式的经验。
如何使用以下标准进行正则表达式?
答案 0 :(得分:1)
这是一个符合您要求的PHP正则表达式:
/^\b[-a-z \d]*\b$/i