哪位强人,就些个连接过滤的吧!
<a href="http://baidu.com/">baidu</a>
如何过滤能够不留下任何字符,而且不影响到其他代码!
strip_tags可以实现html过滤,不过过滤的太干净了,全都都没了!不能够选择性的过滤一些!str.replace(/<a[^>]+href=[" ]?([^"]+)[" ]?[^>]*>(.*?)<\/a>/ig,"$2");
这句把连接转换成ubb
php如何写!放到<?php ?>之间就出现错误
<a href="http://baidu.com/">baidu</a>
如何过滤能够不留下任何字符,而且不影响到其他代码!
strip_tags可以实现html过滤,不过过滤的太干净了,全都都没了!不能够选择性的过滤一些!str.replace(/<a[^>]+href=[" ]?([^"]+)[" ]?[^>]*>(.*?)<\/a>/ig,"$2");
这句把连接转换成ubb
php如何写!放到<?php ?>之间就出现错误
解决方案 »
- 安装APACHE出现No install service named apache2
- 想辞职,大家帮我想个理由。。。。。。。。。。。(长篇)
- 一些通用的数组,不属于某个特定类,其他有时也会用到,如何存放比较好?
- zend studio 不能识别字符集 ??
- 客户端的用户数据如何保存?
- zend 5.5.1 光标找不到了。
- 什么叫会员整合接口
- 请问mysqldump出现这样的错误信息是怎么回事
- 由于公司需要,小弟涉入php,大家多多关照,先放点分,大家以后多多帮忙!
- 请问错在那里?header("location:gongqiu-add.php?username=$date['name']");
- 烦躁死了,报表的图片是怎么出来的啊????请高手给个例子
- php定时自动生成html问题
str.replace(/<a[^>]+href=[" ]?([^"]+)[" ]?[^>]*>(.*?)<\/a>/ig,"$2");
=============================================
大哥,这个不是php中的什么东西,当然出错了.改成
str_replace(/<a[^>]+href=[" ]?([^"]+)[" ]?[^>]*>(.*?)<\/a>/ig,"$2");另个,报什么错,怎么不贴出来啊!大家好分析啊!
不过已经从DZ里头找到了两句清除连接和图片连接
$btdata=preg_replace("/(http:\/\/[a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+\.(jpg|gif|png|bmp))/is","",$btdata);
$btdata=preg_replace("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto):\/\/|www\.)([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+)/is","",$btdata);
但是还是没有过滤掉<img src="" width="128" height="96" border="0"
<a href=""
$btdata=preg_replace("/(<div[^>]+[a-z0-9]=\"([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+))[^>]*>/is","",$btdata);
$btdata=preg_replace("/(<font[^>]+[a-z0-9]=\"([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+))[^>]*>/is","",$btdata);
$btdata=preg_replace("/(<dd[^>]+[a-z0-9]=\"([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+))[^>]*>/is","",$btdata);
$btdata=preg_replace("/(<img[^>]id=\"([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+))[^>]*>/is","",$btdata);
$btdata=preg_replace("/(<dl[^>]+[a-z0-9]=\"([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+))[^>]*>/is","",$btdata);
基本已经解决,需要的就看这些吧!别我的老路了!还多看开源系统比较实在!不过中文还无法过滤,字符这么多过滤起来非常难!
string strip_tags ( string str [, string allowable_tags] )相关地址:
http://cn2.php.net/manual/zh/function.strip-tags.php用正则的话,效率会低很多,php自带的函数都是c写的,效率很高。而且你的那些正则似乎匹配的东西太多了,完全没有必要。$search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
"'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 标记
"'([\r\n])[\s]+'", // 去掉空白字符
"'&(quot|#34);'i", // 替换 HTML 实体
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'&#(\d+);'e"); // 作为 PHP 代码运行$replace = array ("",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)");$text = preg_replace ($search, $replace, $document);这是一个正则的例子。$search是你要匹配的内容,$replace是你要替换的内容,如果不想要的话就替换为""空,$document就是你要替换的源字符串。注意,$search,$replace两个数组的元素是一一对应的,顺序别弄错了。
关于中文字符,我想把他们先转成UNICODE
然后在过滤
不过效率上一定会非常差,不知道有其他更好的方法吗