php 正则 过滤html 的超链接
2009-06-02 11:41
211 查看
<?php
echo preg_replace("/(?<=href=)([^/>]*)(?=/>)/i","#", "<a href='www.csdn.net'>你好,点这里看看</a><a href='www.sina.com'>你好,点这里看看</a>");
?>
正则:/(?<=href=)([^/>]*)(?=/>)/
此正则 匹配 在 href= 之后 “>” 之前 的 非 “>” 的所有字符
例子:<a href='www.csdn.net'>
找到这些字符(url)用 # 替换,就可以去掉html里的所有链接。
如有的链接我想保留怎么呢?
下面这个函数将非本站的链接统统都去掉 然后换上本站的链接
在这里我们用 preg_replace_callback 此函数可调用一个回调来对每次的匹配作处理
clearurl($str)
{
return preg_replace_callback( "/(?<=href=)[^>]*(?=/>)/i","fiterurl",$str);
}
function fiterurl($matches)
{
$str=$matches[0];//每次的匹配
$pos = strpos($str, "tootoomart.com");//判断匹配是否是本站的链接
if(!$pos) //作相应的处理
{
return "http://www.tootoomart.com"; //非本站链接替换
}else
{
return $str; //本站链接不做处理
}
}
另:$string = preg_replace( "/<script.*?//script/>/i","",$string)//去javascript;
echo preg_replace("/(?<=href=)([^/>]*)(?=/>)/i","#", "<a href='www.csdn.net'>你好,点这里看看</a><a href='www.sina.com'>你好,点这里看看</a>");
?>
正则:/(?<=href=)([^/>]*)(?=/>)/
(?<=exp) | 匹配exp后面的位置 |
(?=exp) | 匹配exp前面的位置 |
此正则 匹配 在 href= 之后 “>” 之前 的 非 “>” 的所有字符
例子:<a href='www.csdn.net'>
找到这些字符(url)用 # 替换,就可以去掉html里的所有链接。
如有的链接我想保留怎么呢?
下面这个函数将非本站的链接统统都去掉 然后换上本站的链接
在这里我们用 preg_replace_callback 此函数可调用一个回调来对每次的匹配作处理
clearurl($str)
{
return preg_replace_callback( "/(?<=href=)[^>]*(?=/>)/i","fiterurl",$str);
}
function fiterurl($matches)
{
$str=$matches[0];//每次的匹配
$pos = strpos($str, "tootoomart.com");//判断匹配是否是本站的链接
if(!$pos) //作相应的处理
{
return "http://www.tootoomart.com"; //非本站链接替换
}else
{
return $str; //本站链接不做处理
}
}
另:$string = preg_replace( "/<script.*?//script/>/i","",$string)//去javascript;
相关文章推荐
- php 正则 过滤html 的超链接
- php 正则 过滤html 的超链接
- php用正则表达式过滤html的超链接及提取链接
- php正则过滤html标签、空格、换行符的代码,提取图片
- php过滤HTML标签、属性等正则表达式汇总
- PHP正则表达式提取html超链接中的href地址
- php过滤html标签正则表达式
- php正则过滤HTML
- php过滤HTML标签、属性等正则表达式汇总
- php正则表达式过滤html标签、空格、换行符
- PHP正则表达式过滤html标签属性(DEMO)
- PHP正则过滤HTML标签、空格、换行符
- PHP正则表达式提取html超链接中的h…
- PHP过滤常见html标签的正则表达式
- PHP正则表达式过滤html标签属性(DEMO)
- php正则过滤html标签、空格、换行
- php过滤html标签正则表达式