簡體   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