我的問(wèn)題是關(guān)于 Perl 兼容的正則表達(dá)式運(yùn)算符和語(yǔ)法。我已經(jīng)了解了“/hello/”的基本語(yǔ)法,而 /i 表示不區(qū)分大小寫(xiě)。我在jotform.com上對(duì)此進(jìn)行了調(diào)查,并將對(duì)此進(jìn)行研究,直到我有更深入的了解。但我希望有人可以讓我先了解我在下面發(fā)布的 (2) PCRE 中的 Perl 語(yǔ)法和運(yùn)算符。它們都致力于防止用戶以文本區(qū)域的形式發(fā)布鏈接,但在語(yǔ)法和運(yùn)算符上有很大不同。只是想知道一個(gè)正則表達(dá)式是否優(yōu)于另一個(gè)。哪個(gè)最好,為什么?更新:經(jīng)過(guò)幾個(gè)月的實(shí)時(shí)測(cè)試,PCRE 1 似乎無(wú)法阻止 PHP 聯(lián)系表單中的 URL。PCRE 2 似乎確實(shí)可以在同一實(shí)時(shí)測(cè)試期間阻止 PHP 聯(lián)系表單中的 URL。下面的 2 個(gè)正則表達(dá)式最初是在How to prevent spam URLs in a PHP contact form 中找到的有比 PCRE 2 更好的正則表達(dá)式嗎?任何幫助或建議將不勝感激。謝謝。<?php//PCRE 1 - Does not work to prevent URLs if (preg_match( '/www\.|http:|https:\/\/[a-z0-9_]+([\-\.]{1}[a-z_0-9]+)*\.[_a-z]{2,5}'.'((:[0-9]{1,5})?\/.*)?$/i', $_POST['message'])){echo 'error please remove URLs';}else{....//PCRE 2 - Does work to prevent URLs if (preg_match("/\b(?:(?:https?|ftp|http):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$_POST['message'])){echo 'error please remove URLs';}else{....?>
- 0 回答
- 0 關(guān)注
- 112 瀏覽
添加回答
舉報(bào)
0/150
提交
取消