我创建了一个 php 应用程序。我将 html 页面存储在 mysql 中并从 db 中检索。我设计它是为了在页面中删除或添加数据,所以我创建了数据库,所以现在的问题是,当我想编辑放置在 textarea 中的数据时,它会保存和更新,但在 textarea 中它会显示所有带有 html 代码等的文本在整个页面中提取和修改文本很痛苦。
是否有任何方法不会显示 html 标签以及我想要显示或隐藏哪些标签。
是mysql端还是php端的任何解决方案。
您可以使用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>');
?>
如果您想保留 HTML 格式,以便当它显示在页面上时它周围有 HTML 标记(这听起来像原始计划),那么您可以使用 WYSIWIG 编辑器。这是一对:
它们都可以配置为允许您想要的任何 HTML 元素。不过,请记住在 PHP 处理时进行验证和验证。我最近开始使用 HTML Purifier 来检查 HTML。
如果您对保持 HTML 格式不感兴趣,那么只需使用strip_tags()
.
您可以解析 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);
?>