模板用html不被解析直接显示程序源代码

在页面中,除了xmp,textarea以及js转义外,还有什么办法可以让html标签在不被浏览器解析而正常显示呢?

https://segmentfault.com/q/1010000002516795

要符合“内部的html标签不被解析”,我们根据HTML5的标准,分元素类别讨论吧:
Void Elements,如br等。
他们不允许有内部文本。
Foreign Elements,如svg和mathml的相关标签
跟xml语法一致,他们内部文本若不想被当作标签解析,只有用<![CDATA[和]]>包裹
RCDATA elements:即textarea 和 title。
他们不能嵌套自身,内部的实体会被转义,内部的<不会被当作tag open解析。
因此,他们内部的其他标签自然不会被解析。
Raw text elements:即script 和 style。
他们不能嵌套自身,内部的实体不会被转义,内部的<不会被当作tag open解析。
因此,他们内部的其他标签自然不会被解析。
Normal elements,普通的元素,基本上上列没有提及的都属于这一列,包括pre和code。
他们的特点是,内部的实体会被转义,内部的<可能根据上下文,被当作tag open解析。
他们内部的文本若想展示标签文本而不解析,必须先转义<为<,>为>
如果目标是让HTML标签文本内容正常显示而不被解析,最简单的方案是嵌入到

php下实际操作:

echo '<textarea style="display:none" id= modelContent'.$row[$i][id].' value=<script type="text/template">'.$row[$i][content].'</textarea></script>';

复制代码

$tmp=htmlspecialchars($row[$i][content], ENT_QUOTES);
                                                                                                                        
echo '<textarea style="display:none" id= modelContent'.$row[$i][id].'>'.$tmp.'</textarea>';

复制代码

http://cn2.php.net/htmlspecialchars

http://www.w3school.com.cn/php/func_string_htmlspecialchars.asp

htmlspecialchars(string,flags,character-set,double_encode)

第一种方法:用php的highlight高亮显示php代码

highlight_file("index.php");

第二种方法:把特殊字符转码

echo html_entity_decode(htmlentities("<div>sssss</div>"));

复制代码

http://www.luoxiao123.cn/yuandaimashuchu.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值