导航
  • 全部
...

求稳定函数或思路:移除string中不润许的html tags

iProgram 2005-02-21 04:01:41
就是那种WYSIWYG的HTML编辑器(我用的是HTMLArea),我想限制用户录入文章时使用的HTML标签,去掉不允许的标签(保留标签中的文字)就像MS Space的blog系统那样。举例而言,假如只允许<b></b>标签,则
echo some_function("<b><a href="http://www.google.com" class="abc">Google</a></b> is better than <i>Yahoo</i>", array_var);
的输出结果是:
<b>Google</b> is better than Yahoo

第二个参数array_var是一个数组,里面是允许的tags字符串,如<b>, <ul>...

求稳定的函数 some_function 或思路.
...全文
给本帖投票
219 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
iProgram 2005-02-21
  • 打赏
  • 举报
回复
WYGIWYS在这www.htmlarea.com,需要的可以试试,要用他那个beta版,firefox不认。这个是我见过最好的了,其他好的也有,但不是过于庞大影响效率就是难以定制。

在php.net关于strip_tags函数的comments里有个家伙给了一个利用strip_tags+正则去tags和onclick这样危险属性的代码,值得一看。
hahawen 2005-02-21
  • 打赏
  • 举报
回复
在线编辑器肯定可以输入html代码的这个你是控制不了的,不然就要修改那个编辑器的javascript代码了,难度不小. 要看到你的编辑器的代码才可以帮你修改. strip_tags只要你在表单提交的时候处理一下就可以了.

html标签你要是过滤掉的太多的话,你还不如直接用textarea
iProgram 2005-02-21
  • 打赏
  • 举报
回复
我试试strip_tags。在线编辑器可以copy & paste的,关了 html source还是可以paste HTML元素进去的。
xuzuning 2005-02-21
  • 打赏
  • 举报
回复
1、函数strip_tags的功能是删除html标记,他的第二个参数是一个保留的html标记列表
如:
只保留<b>则strip_tags($text,"<b>")
只保留<b><br><p>则strip_tags($text,"<b><br><p>")

2、既然你使用在线编辑器,那么可以
a)关掉html源码编辑
b)只提供允许的html标记的工具按钮

-神仙- 2005-02-21
  • 打赏
  • 举报
回复
strip_tags;
keaizhong 2005-02-21
  • 打赏
  • 举报
回复
不好意思,发了两次都有点儿错。再发一次。哈哈哈。
<?php
echo strip_tags('<b><a href="http://www.google.com" class="abc">Google</a></b> is better than <i>Yahoo</i>', "<b><i>");
?>
keaizhong 2005-02-21
  • 打赏
  • 举报
回复
echo strip_tags("<b><a href="http://www.google.com" class="abc">Google</a></b> is better than <i>Yahoo</i>", "<b>");
keaizhong 2005-02-21
  • 打赏
  • 举报
回复
echo strip_tags(("<b><a href="http://www.google.com" class="abc">Google</a></b> is better than <i>Yahoo</i>", "<b>");

21,895

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧

手机看
关注公众号

关注公众号

客服 返回
顶部