判断一个字符串是否含有超级链接
代码如下
$str="ssdsf<a target=_blank >sdf</a>sdfss";
if(preg_match("/<a/s+href=[^>]*>|<//[^a]*a[^>]*>/i"$str))
{
echo "该字符串有超链接";
}
else
{
echo "该字符串没有超链接标记";
}
?>
下面我们只要过滤连接部份
代码如下
<?php
echo preg_replace("/(?<=href=)([^>]*)(?=>)/i""#" "<a >你好点这里看看</a><a >你好点这里看看</a>");
?>
正则/(?<=href=)([^>]*)(?=>)/
(?<=exp) 匹配exp后面的位置
(?=exp) 匹配exp前面的位置
此正则 匹配 在 href= 之后 “>” 之前 的 非 “>” 的所有字符
例子<a >
找到这些字符(url)用 # 替换就可以去掉html里的所有链接
现在分享一个提取超级连接的实例
代码如下
function match_links($document) {
preg_match_all("<s*as*?hrefs*=s*(["])?(?()(*?)|([^s>]+))[^>]*>?(*?)</a>isx"$document$links);
while(list($key$val) = each($links[])) {
if(!empty($val))
$match[link][] = $val;
}
while(list($key$val) = each($links[])) {
if(!empty($val))
$match[link][] = $val;
}
while(list($key$val) = each($links[])) {
if(!empty($val))
$match[content][] = $val;
}
while(list($key$val) = each($links[])) {
if(!empty($val))
$match[all][] = $val;
}
return $match;
}