PHP中动态HTML的输出技术[网站编程]
本文“PHP中动态HTML的输出技术[网站编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
你可以在php程序中的任何地方利用
echo "hello world!";
来输出你想输出的内容.
不过你将碰到以下麻烦:
1 -
当你试图在hello和world之间加入两个(或两个以上)空格,你利用: echo "hello world!"; 你得到的输出还是一个空格,大概你在行首加入一个空格, 你的空格也将被忽视.
2 -
更糟的是输出用户输入的内容时,有心或无意的用户输入将 使你的输出变的一团糟,乃至给其他用户带来麻烦.
比方:
<form action="output.php">
<textarea name="in_txt">
</textarea>
<br>
<input type="submit">
</form>
假如用户输入中有不止一行的内容,那么你假如简单地 echo $in_txt; 用户的换行将被忽视.
3 -
还是上面的例子,大部份情形我们不但愿用户输入html 代码,因为你不知道用户会输入什么.
用户乃至可以写一段代码使你网站全部的用户死机. 当然你不但愿那样,但是你假如简单地 echo $in_txt; 就不大概避免.
办理办法:
关于1,可以利用ereg_replace(" {2}","$nbsp; ",$in_txt) 两个在一同的空格将变成两个空格的转义符($nbsp).
关于2,nl2br($in_txt)是最好的挑选,这样所以的换行就换成 "<br>"了.
关于3,安全地显示用户输入的html代码,php中也有专门的函数. htmlspecialchars($in_txt)便可以了.
别的,假如$in_txt是从mysql数据库中提出的,那么他在从前插入时 一定要利用addslashes(),呼应的,取出时就一定要stripslashes().
总结:
假如$in_txt是用户输入的文本,普通可以这样输出:
echo ereg_replace(" {2}"," ",nl2br(htmlspecialchars(stripslashes($in_txt))));
以上是“PHP中动态HTML的输出技术[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |