Heim > php教程 > php手册 > Hauptteil

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

WBOY
Freigeben: 2016-06-13 10:01:51
Original
1046 Leute haben es durchsucht

昨天有一个朋友问题可不可以检查用户提交的数据中是否包括了超级连接,如果有的话就直接过滤了,下面我来给大家介绍过滤连接的办法。

判断一个字符串是否含有超级链接

 代码如下 复制代码

$str="ssdsfsdfsdfss";
if(preg_match("/]*>|/[^a]*a[^>]*>/i",$str))
{
echo "该字符串有超链接";
}
else
{
echo "该字符串没有超链接标记";
}
?>


下面我们只要过滤连接部份。

 代码如下 复制代码

echo preg_replace("/(?]*)(?=>)/i","#", "你好,点这里看看你好,点这里看看");
?>

正则:/(?]*)(?=>)/

(? (?=exp) 匹配exp前面的位置
此正则 匹配 在 href= 之后 “>” 之前 的 非 “>” 的所有字符

例子:

找到这些字符(url)用 # 替换,就可以去掉html里的所有链接。

现在分享一个提取超级连接的实例

 

 代码如下 复制代码

function match_links($document) {   

    preg_match_all("']+))[^>]*>?(.*?)'isx",$document,$links);                       

    while(list($key,$val) = each($links[2])) {

        if(!empty($val))

            $match['link'][] = $val;

    }

    while(list($key,$val) = each($links[3])) {

        if(!empty($val))

            $match['link'][] = $val;

    }       

    while(list($key,$val) = each($links[4])) {

        if(!empty($val))

            $match['content'][] = $val;

    }

    while(list($key,$val) = each($links[0])) {

        if(!empty($val))

            $match['all'][] = $val;

    }               

    return $match;

}

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage