2012-11-29 60 views
0

我創建了一個php應用程序。我在其中存儲html頁面,並從數據庫中檢索。我設計它刪除或添加頁面中的數據,所以我創建數據庫,所以現在的問題是,當我想編輯數據放在textarea它保存和更新,但在textarea它顯示所有的文本與HTML代碼等在整個頁面中提取和修改文本是很痛苦的。我想要將我的html更新到數據庫時禁用html標記

是否有將不顯示HTML標記和標籤我要顯示或隱藏任何方法。

在MySQL中端或PHP端的任何解決方案。

+0

考慮使用[降價](http://daringfireball.net/projects/markdown/syntax)。 – moonwave99

+0

使用編輯器 - 例如:tinymce –

回答

0

可以使用php strip_tags方法。

<?php 
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>'; 
echo strip_tags($text); 
echo "\n"; 

// Allow <p> and <a> 
echo strip_tags($text, '<p><a>'); 
?> 
+0

它將刪除所有HTML標籤 –

+0

如果仔細閱讀,您可以看到可以排除標籤(請參閱方法的第二個參數) – Tomer

+0

第二個參數是關於allowable_tags。如果我們只需要刪除一個特定的標籤,我們就不能編寫所有的html標籤。 –

0

如果你是想保持HTML格式,這樣,當它被顯示在頁面上它有它周圍的HTML標記(這聽起來像原來的計劃),那麼你可以使用一個所見即所得的編輯器。這裏有一對夫婦:

它們都可以被配置爲允許任何你想要的HTML元素。 記得驗證和驗證時由PHP處理。 我最近開始使用HTML Purifier來檢查HTML。

如果你不感興趣,保持HTML格式,然後只需使用strip_tags()

0

您的問題,指的是客戶端和所見即所得的JS庫,這將使得文本編輯更舒適。

在這些解決方案請看:

0

可以解析HTML DOM,這將允許您添加,刪除,編輯任何元件。我會建議你使用simple_html_domphp native DOM

下面是示例使用簡單的HTML DOM

<?php 

$html = new simple_html_dom(); 
$html->load('<html><body><span>removeme</span></body></html>'); 
$html->set_callback('remove_tag'); 

function remove_tag($element) 
{ 
if($element->tag == 'span'){ $element->outertext = ""; 
} 

刪除特定HTML標記?>

還可以使用正則表達式來移除特定標籤

<?php 

$html = preg_replace("/<span[^>]+\>/i", "", $html); 

?> 
相關問題