当前位置: 网学 > 编程文档 > PHP > 正文

在PHP中显示格式化的用户输入

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式
);


/* anchors */

$output = ereg_replace(''\[anchor="([[:graph:]]+)"\]'', ''<a name="\\1"></a>'', $output);


/* links, note we try to prevent javascript in links */

$output = str_replace(''[link="javascript'', ''[link=" javascript'', $output);

$output = ereg_replace(''\[link="([[:graph:]]+)"\]'', ''<a href="\\1">'', $output);

$output = str_replace(''[/link]'', ''</a>'', $output);


return nl2br($output);

}


?>


一些注意的地方:

  记住替换自定义标记生成HTML标记字符串是在调用htmlspecialchars()函数之后,而不是在这个调用之前,否则你的艰苦的工作在调用htmlspecialchars()后将付之东流。


  在经过转换之后,查找HTML代码将是替换过的,如双引号"将成为"


nl2br()函数将回车换行符转换为<br>标记,也要在htmlspecialchars()之后。


  当转换[links=""] 到 <a href="">, 你必须确认提交者不会插入javascript脚本,一个简单的方法去更改[link="javascript 到 [link=" javascript, 这种方式将不替换,只是将原本的代码显示出来。


outputlib.php


在浏览器中调用test.php,可以看到format_output() 的使用情况


正常的HTML标记不能被使用,用下列的特殊标记替换它:


- this is [b]bold[/b]

- this is [i]italics[/i]

- this is [link="http://www.phpbuilder.com"]a link[/link]

- this is [anchor="test"]an anchor, and a [link="#test"]link[/link] to the anchor


[p]段落

[pre]预先格式化[/pre]

[indent]交错文本[/indent]


这些只是很少的标记,当然,你可以根据你的需求随意加入更多的标记


Conclusion


  结论


  这个讨论提供安全显示用户输入的方法,可以使用在下列程序


留言板

用户建议

系统公告

BBS系统

  • 下一篇资讯: 让php4动态生成flash动画
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号