0

PHPアプリケーションを作成します。htmlページをmysqlに保存し、dbから取得します。ページ内のデータを削除または追加するように設計しているので、データベースを作成します。したがって、テキストエリアに配置されたデータを編集して保存および更新するときに問題が発生しますが、テキストエリアにはすべてのテキストが HTML コードなどで表示されます。ページ全体のテキストを抽出して変更するのは面倒です。

HTMLタグを表示しない方法と、表示または非表示にするタグはありますか。

mysql側またはphp側の解決策はありますか。

4

4 に答える 4

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>');
?>
于 2012-11-29T11:29:23.230 に答える
0

HTML フォーマットを保持して、ページに表示されるときに周囲に HTML マークアップが含まれるようにしたい場合 (これは元の計画のように思えます)、WYSIWIG エディターを使用できます。ここにカップルがあります:

どちらも、必要な HTML 要素を許可するように構成できます。ただし、PHP によって処理される場合は、検証と検証を忘れないでください。最近、HTML のチェックに HTML Purifier を使い始めました。

HTML フォーマットを保持することに関心がない場合は、strip_tags().

于 2012-11-29T11:31:03.747 に答える
0

あなたの問題は、テキストの編集をより快適にするクライアント側および WYSIWYG JS ライブラリに関するものです。

以下のソリューションをご覧ください。

于 2012-11-29T11:35:01.917 に答える
0

HTML DOM を解析して、任意の要素を追加、削除、編集できます。simple_html_dom php ネイティブ DOMを使用することをお勧めします

単純な html dom を使用して特定の html タグを削除する例を次に示します。

<?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 = ""; 
}

?>

正規表現を使用して特定のタグを削除することもできます

<?php

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

?>
于 2012-11-29T11:35:17.933 に答える