Javascript 如何将HTML标记限制为Div?

Javascript 如何将HTML标记限制为Div?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,如果我在HTML中嵌入内容,如何确保该内容中的任何HTML只影响嵌入的内容 例如: <strong>Hello this is a code,<br>,<i>Yeah,... 当我嵌入该内容时,页面上内容后面的所有内容都将被设置样式,因为内容包含打开标记,而没有关闭标记 如何限制这些标签的效果 我不介意内容带有标签,但我希望它们只影响内容,而不是嵌入内容的页面的其余部分 PHP允许自动关闭标记,但我希望在jQuery或PHP中有一种安全的方法将HTML限制在

如果我在HTML中嵌入内容,如何确保该内容中的任何HTML只影响嵌入的内容

例如:

<strong>Hello this is a code,<br>,<i>Yeah,...
当我嵌入该内容时,页面上内容后面的所有内容都将被设置样式,因为内容包含打开标记,而没有关闭标记

如何限制这些标签的效果

我不介意内容带有标签,但我希望它们只影响内容,而不是嵌入内容的页面的其余部分


PHP允许自动关闭标记,但我希望在jQuery或PHP中有一种安全的方法将HTML限制在页面上的某个区域。

HTML本质上只允许div中的HTML标记。尽管如此,这些标记始终能够包含内容。例如,如果您尝试将以下内容输出到div中:

<br /><br /><span>Malicious <?php include('malicious.php'); /> file!</span>
<?php
$fragment = '<p>Opened paragraph <a href="#">opened linked';
$tidy = new tidy();
$tidy->parseString($fragment,array('show-body-only'=>true),'utf8');
$tidy->cleanRepair();
echo $tidy;
?>
通过PHP中的“自动关闭标记”,我假设您的意思是:

<br /><br /><span>Malicious <?php include('malicious.php'); /> file!</span>
<?php
$fragment = '<p>Opened paragraph <a href="#">opened linked';
$tidy = new tidy();
$tidy->parseString($fragment,array('show-body-only'=>true),'utf8');
$tidy->cleanRepair();
echo $tidy;
?>
如果在PHP中强制关闭标记,它们将以相反的顺序在HTML中正确输出:

<p>Opened paragraph <a href="#">opened linked</a></p>

希望这有帮助:

你不能用HTML或CSS做你想做的事情-你需要一些东西,可以解析内容中的任何HTML并关闭任何打开的标记,或者你,就像所给的例子一样。

字符串将用php加载到数据库中。给我们看看你的代码,我不知道页面是如何创建的。强标记中的所有文本都将是强标记。如果可以选择代码中的HTML标记,只需关闭强标记:强文本