php 过滤字符串中链接地址

过滤链接最简单的办法就是利用php教程的strip_tags函数,如下

php过滤html的函数:strip_tags(string) 这样就可以过滤掉所有的html标签了。
如果想过滤掉除了<img src="">之外的所有html标签,则可以这样写:strip_tags(string,"<img>");
过滤除了<img src=""><p>xxx</p><b></b>之外的所有html标签,

则可以这样写:

strip_tags(string,"<img><p><b>");

上面的做法不可取,因为它把所有的html都给过滤了,下面我们只要过滤连接部份。

<?php
echo preg_replace("/(?<=href=)([^>]*)(?=>)/i","#", "<a href='www.111cn.net'>你好,点这里看看</a><a href='www.111cn.net'>你好,点这里看看</a>");
?>
正则:/(?<=href=)([^>]*)(?=>)/
(?<=exp) 匹配exp后面的位置
(?=exp) 匹配exp前面的位置
此正则 匹配 在 href= 之后 “>” 之前 的 非 “>” 的所有字符
例子:<a href='www.111cn.net '>

升级一下,我们只过滤其它网站的链接保存自己网站的

 

$str ='<li><a href="http://www.111cn.net/12345s" target="_blank"> 施华洛世奇!</a></li><li><a href=http://123.com/n.php?a=luxury& target="_blank"> f乔</a></li><li><a href="http://mb.111cn.net/" target="_blank"> f衣';

$match='/<li><ashref="?http://[w.]*123.com/[w]+.php?a=*[w&=]*"?s+target="_blank">(.*)</a></li>/isu';
preg_match_all($match,$str,$arr);
echo "<pre>";
print_r($arr[0]);
echo "</pre>";

更多详细内容请查看:http://www.111cn.net/phper/php/35063.htm

时间: 2024-09-29 23:32:37

php 过滤字符串中链接地址的相关文章

php匹配字符中链接地址的方法_php技巧

本文实例讲述了php匹配字符中链接地址的方法.分享给大家供大家参考.具体如下: 判断一个字符串是否含有超级链接,代码如下: 复制代码 代码如下: $str="ssdsf<a target='_blank' href='http://www.jb51.net/' >sdf</a>sdfss"; if(preg_match("/<a/s+href=[^>]*>|<//[^a]*a[^>]*>/i",$str))

python过滤字符串中不属于指定集合中字符的类实例

  本文实例讲述了python过滤字符串中不属于指定集合中字符的类.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # -*- coding: utf-8 -*- import sets class Keeper(object): def __init__(self, keep): self.keep = sets.Set(map(ord, keep)) def __getitem__(self, n): if n

asp 获取字符串中url地址函数

asp教程 获取字符串中url地址函数 本文章提供了三款利用asp的正则获取字符串中url地址自定义函数哦,三个方法的实现原理都是获取以http开的url地址哦. on error goto z dim url,key,wwwname url=request.servervariables("server_name") if instr(url,".")>0 then key=split(url,".") wwwname=key(0) ww

《Python Cookbook(第2版)中文版》——1.10 过滤字符串中不属于指定集合的字符

1.10 过滤字符串中不属于指定集合的字符 任务 给定一个需要保留的字符的集合,构建一个过滤函数,并可将其应用于任何字符串s,函数返回一个s的拷贝,该拷贝只包含指定字符集合中的元素. 解决方案 对于此类问题,string对象的translate方法是又快又好用的工具.不过,为了有效地使用translate来解决问题,事先我们必须做一些准备工作.传递给translate的第一个参数是一个翻译表:在本节中,我们其实不需要什么翻译,所以我们必须准备一个特制的参数来指明"无须翻译".第二个参数

php实现过滤字符串中的中文和数字实例_php技巧

本文实例讲述了php实现过滤字符串中的中文和数字.分享给大家供大家参考.具体实现方法如下: function getChinese($string,$encode="GBK") { switch($encode){ case "GBK" :$codelength=2;break; case "GB2312" :$codelength=3;break; case "UTF-8" :$codelength=3;break; cas

JavaScript过滤字符串中的中文与空格方法汇总_javascript技巧

js 如何过滤字符串里中文或空格呢?方法有很多种,我们可以使用替换与正则表达式来实现,本文向大家介绍两个简单的例子,感兴趣的朋友可以参考一下. 1.javascript过滤空格: function moveSpace() { var str = " abc defg"; alert(str.replace(/[ ]/g, "")); } moveSpace(); 2.javascript过滤中文: var title ="字符串zifuchuan"

php 正则字符串中邮箱地址e-mail

如果你是验证邮箱第一个不错,如果你要获取文章或字符串中是否有邮箱地址,可以用第二个. */ function funcemail($str)//邮箱正则表达式 {  return (preg_match('/^[_.0-9a-z-a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$/',$str))?true:false; } /* php教程 filter_sanitize_email 过滤器 filter_sanitize_email 过滤器删除字符串中所有非法的

如何从字符串中截取地址信息?

问题描述 最近碰到一个客户的需求,要对录入的信息进行重复性判断.主要针对录入的名称进行判断,需要应用对录入的字段进行识别,筛掉录入信息中的地址信息以及形如股份公司的信息识别出关键字进行重复性判断,应用基于J2EE,BS架构,主要使用java语言.请问是否有可行的方案能实现? 很2逼的需求,搞得人头大啊 解决方案 推荐你看下oracle的全文检索.这里有篇文章跟你的需求相似,可以参考:http://www.iteye.com/topic/1118055解决方案二:AJAX验证啊,去库里模糊查是否有

php匹配字符中链接地址程序代码

 判断一个字符串是否含有超级链接  代码如下   $str="ssdsf<a target='_blank' href='http://www.45it.net/' >sdf</a>sdfss"; if(preg_match("/<a/s+href=[^>]*>|<//[^a]*a[^>]*>/i",$str)) { echo "该字符串有超链接"; } else { echo &quo