|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
《PHP+MYSQL WEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-) 你可以在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混合编程应该不成问题,在这期间,你完全可以让PHP给你算算 一加一等于几,然后在浏览器输出,不要觉得幼稚,这的确是跟阿波罗登月一样,你打的是一小段代码,但是对于你的编程之路,可是迈出了一大步啊!兴奋吧?但是不得不再给你泼点冷水,您还是菜鸟一个。 |
|