繁体   English   中英

如何将HTML标签限制为Div?

[英]How can I limit HTML Tags to a Div?

如果将内容嵌入HTML中,如何确保该内容中的任何HTML仅影响嵌入的内容?

例如:

<strong>Hello this is a code,<br>,<i>Yeah,...

当我嵌入该内容时,该内容之后页面上的所有内容都将被设置样式,因为该内容包含不带关闭标签的打开标签( </strong></i>

如何限制这些标签的作用?

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

PHP允许“自动关闭标签”,但是我想要jQuery或PHP中一种安全的方法来将HTML限制在页面上的某个区域。

HTML本质上仅允许div中的HTML标签。 这些标签将始终能够在其中包含内容。 例如,如果您尝试输出到div中,例如:

<br /><br /><span>Malicious <?php include('malicious.php'); /> file!</span>

HTML会将div标记内的所有内容呈现为HTML 原始文本,并且仅尝试呈现可识别为有效HTML的任何内容。

它将通过以下方式加载到DOM中:

<div><br /><br /><span>Malicious <?php include('malicious.php'); /> file!</span></div>

它会在页面上显示为:

 
 
Malicious <?php include('malicious.php'); /> file!

通过PHP中的“自动关闭标签”,我认为您的意思是:

<?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并关闭任何打开的标签或您自己的东西,例如Obsidian Age给出的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM