2014-02-19 86 views
-6

如何檢查用戶在textarea中編寫的內容是否爲有效的HTML?它可以是PHP或Javascript。如何檢查textarea是否爲HTML?

+7

定義「有效的html」? – 2014-02-19 03:22:45

+0

也許你可以使用http://www.php.net/manual/en/domdocument.loadhtml.php - 加載後,你可以使用'similar_text'加載輸入 –

回答

0

在PHP中,這將是非常簡單的:

if($text!=htmlspecialchars($text)) 
{ 
    echo 'This contains HTML tags!!'; 
} 

當然,這意味着一個符號將是有效的,所以你也可以做類似

function hasHtml($string) { 
    if ($string != strip_tags($string)) 
     return true; 
} 

您可以使用John Resig's HTML解析器的Javascript解決方案,或者做這樣的事情:

function is_html(string) 
{ 
    return string.match("/<[^<]+>/").length != 0; 
} 
+2

通過htmlspecialchars檢查將意味着任何帶有&符號的字符串會返回有效? – flauntster

+2

這不會告訴OP,內容是*有效的* HTML(不管OP的含義是什麼) –

0

你可以p將內容添加到html驗證腳本或在線服務並顯示結果。

您可能還想調查具有一些驗證功能的PHP DOMDocument類。

0

在JS,這很容易,因爲它有一個內置的HTML解析器:

function isHTML(str){ 
    var div=document.createElement("div"); 
    div.innerHTML=str; 
    return div.children.length>0; 
} 

注意這將驗證有一些良好的HTML,或HTML,並且怪癖成結構良好的HTML。嚴格的有效性是另一回事,只有FireFox可以讓你ajax view-source:urls在gecko html顯示標記中嗅探錯誤標題屬性。其他瀏覽器需要w3驗證程序的服務器端代理或由您自己的服務器提供的現場html驗證服務。