我在插入db之前使用htmlentities来处理表单数据。当从数据库中检索数据并在我的应用程序中输出数据时,会出现html标记。
如何从mysql执行我的选择查询,并在没有html标签的情况下回显数据?
我的代码示例:
<tr><th>Message: </th><td><?php echo $string; ?></td></tr>
现场输出:
<br><br>Michael <br>Hotel Murray <br>1 Interstate Blvd. <br>Bluepoint, NJ 55555
(续)
使用strip_tags后,网页上的输出仍会显示其中的标记。如果我使用我构建的编辑页面(包括WYSIWYG编辑器)查看输出,WYSIWYG编辑器框中编辑页面上的相同文本的输出(编辑之前)是正确的(我的意思是 - html实际上是被视为html并且输出或html被相应地格式化。)。但是,如果我只是在不使用编辑器的情况下回显页面上的字符串,它会保留标记并且根本不对其进行格式化。请看:
目前:
$ string = $ row ['template_string'];
echo strip_tags($ string);
回声“\ n”;
输出:
迈克尔·酒店穆雷·1号州际大道。
Bluepoint,NJ 55555
尝试结束:
$ string = $ row ['template_string'];
echo strip_tags($ string);
回声“\ n”;
输出:
迈克尔
Hotel Murray
1 Interstate Blvd.
Bluepoint,NJ 55555
答案 0 :(得分:1)
您可以使用strip_tags函数 http://php.net/manual/ru/function.strip-tags.php
答案 1 :(得分:1)
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>');
?>
答案 2 :(得分:1)
修复方法是使用html_entity_decode()
感谢您的帮助!