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

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

 代码如下 复制代码

$str="ssdsf<a target='_blank' href='http://www.111cn.net/' >sdf</a>sdfss";
if(preg_match("/<a/s+href=[^>]*>|<//[^a]*a[^>]*>/i",$str))
{
echo "该字符串有超链接";
}
else
{
echo "该字符串没有超链接标记";
}
?>

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

 代码如下 复制代码

<?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 '>

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

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

 

 代码如下 复制代码

function match_links($document) {   

    preg_match_all("'<s*as.*?hrefs*=s*(["'])?(?(1)(.*?)\1|([^s>]+))[^>]*>?(.*?)</a>'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;

}

时间: 2024-08-03 23:48:21

php 匹配字符中链接地址程序代码的相关文章

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

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))

ASP.NET通过第三方网站Bitly实现短链接地址程序_实用技巧

发微博很久了,或许是我之前没注意,现在特别关注那个微博中的图片链接和URL链接,总给我看不懂但是又那么短的感觉,反正不是我上传的地址,其实这里使用一个短链接服务功能,这里拿出来晒晒. 这里看看是指向淘宝的一个商品页面,链接地址是这样的 ,但是现在在微博中变成了红圈表名的那个样子,似乎看不懂了,而且你点击之后还是到你原有的页面.这里就是使用了短链接程序服务,包括图片等等都是这样,可以缩短url长度. Bitly 是世界上最流行的短链接服务,而且已经免费开放所有功能.点击访问官网 Bitly.com

在C#中自己写程序代码合并两个ACCESS数据库,如表a1.姓名插入a2.姓名里,我是这样写的,可就是不对

问题描述 在C#中自己写程序代码合并两个ACCESS数据库,如表a1.姓名插入a2.姓名里,我是这样写的,可就是不对if(this.openFileDialog1.ShowDialog()==DialogResult.OK){this.textBox2.Text=openFileDialog1.FileName.ToString();}try{if(textBox2.Text!=null){stringlink_tex0="Provider=Microsoft.Jet.OLEDB.4.0;Dat

Javascript刷新框架中的页面程序代码

JS刷新框架的脚本语句  代码如下 复制代码 //如何刷新包含该框架的页面用 <script language=JavaScript> parent.location.reload(); </script> //子窗口刷新父窗口 <script language=JavaScript> self.opener.location.reload(); </script> ( 或 <a href="javascript:opener.locatio

PHP正则实战之匹配图片地址程序代码

图片网址规范的html代码无非就是 <img title="??" src="/wp-admin/%E5%9B%A73" alt="??" title="??" width="5" height="6" /> ??和??是非必需的,若要通过XHTML认证??.??.??必不可少,??是核心内容,当然就不能少了. 就正则谈正则的话,我写出的最短匹配是 (?<=img.+?

php提取字符串中网站url地址程序代码

例子  代码如下 复制代码 $postInfo['answer2'] ='可以的,商业贷款可摊还36%,公积金贷款可摊还16%|||可以先把账户里的余额提取出来用作首付,然后每个月贷款商业贷款可摊还36%,公积金贷款可摊还16%|||可以的,现在甲类公积金是摊还比例http://www.111cn.net是工资基数的34%|||啊啊啊啊啊啊啊啊是的|||可以摊还,甲类34% '; preg_match_all("/http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[

在Java内存模型中测试并发程序代码_java

让我们来看看这段代码:   import java.util.BitSet; import java.util.concurrent.CountDownLatch; public class AnExample { public static void main(String[] args) throws Exception { BitSet bs = new BitSet(); CountDownLatch latch = new CountDownLatch(1); Thread t1 =

1.Android中解析json程序代码

Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包.测试代码如下: @Override    protected void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.activity_main);         if (savedInstanceState == null) {