如何转义HTML中的"<,>"
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何转义HTML中的"<,>"相关的知识,希望对你有一定的参考价值。
我做了一个博客,在作文章时,如果写入html的代码后,就会出错(无法写入到mysql)
写入的是“<html>...</html>
<head>...</head>
<body>...</body>
<HTML>
<HEAD>
<title>, <base>, <link>, <isindex>, <meta>
</HEAD>
<BODY>
HTML 文件的正文写在这里... ...
</BODY>
</HTML>
”
这一段:
简结的:
$_POST["a01"]='<head>...</head>';
$_POST["comment"]='<head>...</head><body>...</body>';
$yfm=mysql_real_escape_string($_POST["a01"]);
$wz=mysql_real_escape_string($_POST["comment"]);//特殊符号的转义,赋值。
$yfmc=htmlspecialchars($yfm,ENT_COMPAT,'GB2312');
$wzc=htmlspecialchars($wz,ENT_COMPAT,'GB2312');
echo $yfmc; //<head>...</head>
echo $wzc; //<head>...</head>\r\n<body>...</body>\r\n
为什么<,>没的得到转义呢?
'>' gt; 参考技术B "<"换成<
">"换成>
前缀一般是文字
表单中用户输入"<"等转义字符,保存后数据库是原文保存的,但是查看的时候显示的是"<",如何是的<字符在网页原样显示出来。(代码
其实方法也很简单,替换&为&就行了~
演示如下
<?php $content="<!DOCTYPE html> <html> <body> <?php echo 我的第一段 PHP 脚本!; ?> </body> </html>"; $find="<"; $replace="&lt;"; $findTwo=">"; $replaceTwo="&gt;"; $result=str_replace($find,$replace,$content); $result=str_replace($findTwo,$replaceTwo,$result); echo "<textarea rows=\'20\' cols=\'50\'>".$result."</textarea>"; ?>
这时一段PHP代码,使用替换函数str_replace将<替换为&lt; 即可,说白了就是替换&为&即可达到目的
显示效果如下图
以上是关于如何转义HTML中的"<,>"的主要内容,如果未能解决你的问题,请参考以下文章
表单中用户输入"<"等转义字符,保存后数据库是原文保存的,但是查看的时候显示的是"<",如何是的<字符在网页原样显示出来。(代码