繁体   English   中英

使用复合词的PHP中标签的正则表达式

[英]Regular expression for tags in PHP using compound words

到目前为止,这是我的代码:

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我决定修改此小脚本。

问题是我对构建正则表达式没有任何经验。

如何使用以下条件进行正则表达式?

  • 复合词
  • 在两个单词中间插入破折号特殊字符(互联网浏览器,谷歌浏览器)
  • 字符串开头或结尾没有空格

这是一个满足您要求的PHP正则表达式:

/^\b[-a-z \d]*\b$/i

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM