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))
{
echo "该字符串有超链接";
}
else
{
echo "该字符串没有超链接标记";
}
?>
下面我们只要过滤连接部份,代码如下:
<?php
echo preg_replace("/(?<=href=)([^>]*)(?=>)/i","#", "<a href='www.jb51.net'>你好,点这里看看</a><a href='www.jb51.net'>你好,点这里看看</a>");
?>
正则:/(?<=href=)([^>]*)(?=>)/
(?<=exp) 匹配exp后面的位置
(?=exp) 匹配exp前面的位置
此正则匹配 在 href= 之后 “>” 之前 的 非 “>” 的所有字符
例子:<a href='www.jb51.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(!emptyempty($val))
$match['link'][] = $val;
}
while(list($key,$val) = each($links[3])) {
if(!emptyempty($val))
$match['link'][] = $val;
}
while(list($key,$val) = each($links[4])) {
if(!emptyempty($val))
$match['content'][] = $val;
}
while(list($key,$val) = each($links[0])) {
if(!emptyempty($val))
$match['all'][] = $val;
}
return $match;
}
希望本文所述对大家的PHP程序设计有所帮助。
相关推荐
-
PHP实现对站点内容外部链接的过滤方法
熟悉SEO的朋友都知道,对于网站外部链接失效的情况如果链接带有rel="nofollow"属性可以避免不必要的损失.本文就以实例形式演示了PHP实现对站点内容外部链接的过滤方法.具体如下: 问题描述:原来站内很多文章都是摘录的外部文章,文章里很多链接要么是时间久了失效了,要么就是一些测试的网址,如:http://localhost/ 之类的,链接多了的话,就形成站内很多死链接,这对SEO优化是很不利的. 解决方法:需要对站点内的内容进行过滤,将不是内部链接的链接加上 rel="
-
php获取网页上所有链接的方法
本文实例讲述了php取得网页上所有链接的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php function get_all_url($code){ preg_match_all('/<as+href=["|']?([^>"' ]+)["|']?s*[^>]*>([^>]+)</a>/i',$code,$arr); return array('name'=>$arr[2],'u
-
php结合js实现点击超链接执行删除确认操作
如题,本次是要实现点击超链接实现执行js代码,并确认是否删除数据库数据,采用php. 首先链接数据库,查询数据库数据: 复制代码 代码如下: <?php $dbms='mysql'; //数据库类型 ,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数 $host='localhost'; //数据库主机名 $dbName='db_database19'; //使用的数据
-
php实现使用正则将文本中的网址转换成链接标签
复制代码 代码如下: function text2links($str='') { if($str=='' or !preg_match('/(http|www\.|@)/i', $str)) { return $str; } $lines = explode("\n", $str); $new_text = ''; while (list($k,$l) = each($lines)) { // replace links: $l
-
用PHP将网址字符串转换成超链接(网址或email)
复制代码 代码如下: function makeClickableLinks($text) { $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)', '<a href="\1">\1</a>', $text); $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)','
-
php中将网址转换为超链接的函数
复制代码 代码如下: function showtext($text){ $search = array('|(http://[^ ]+)|', '|(https://[^ ]+)|', '|(www.[^ ]+)|'); $replace = array('<a href="$1" target="_blank">$1</a>', '<a href="$1" target="_blank">
-
php自动给网址加上链接的方法
本文实例讲述了php自动给网址加上链接的方法.分享给大家供大家参考.具体实现方法如下: 这里自动匹配页面里的网址,包含http,ftp等,自动给网址加上链接 function text2links($str='') { if($str=='' or !preg_match('/(http|www\.|@)/i', $str)) { return $str; } $lines = explode("\n", $str); $new_text = ''; while (list($k,$l
-
php调用新浪短链接API的方法
本文实例讲述了php调用新浪短链接API的方法.分享给大家供大家参考.具体方法如下: 复制代码 代码如下: <?php //Sina App_Key define('SINA_APPKEY', '31641035'); function curlQuery($url) { //设置附加HTTP头 $addHead = array( "Content-type: application/json" ); //初始化curl,当然,你也可以用fsockopen代替 $cu
-
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))
-
Java使用正则表达式匹配获取链接地址的方法示例
本文实例讲述了Java使用正则表达式匹配获取链接地址的方法.分享给大家供大家参考,具体如下: 获取页面中字符串的url地址我们都会使用正则表达式来匹配获取了,下面我来给大家总结几个匹配获取链接地址示例. 1.正则表达式中Matcher中find()方法的应用. 2.String对象中的 replaceAll(String regex,String replacement) 方法的使用.通过这个方法去除了不必要的字符串,从而得到了需要的网址和链接文字 例1.超简单的 String content
-
js实现一个链接打开两个链接地址的方法
本文实例讲述了js实现一个链接打开两个链接地址的方法.分享给大家供大家参考.具体如下: <script type="text/javascript"> <!-- function adClick(ad, site) { window.open(ad); window.location = site; } --> </script> <a href="javascript:adClick('http://www.163.com/','h
-
node.js调用Chrome浏览器打开链接地址的方法
本文主要介绍的是node.js调用Chrome浏览器打开链接地址的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 借助open模块实现 通过node-open模块,可以在任何平台上打开某个浏览器网址. 通过NPM安装 npm install open 使用Chrome打开网址 var open = require("open"); open("http://www.google.com", "chrome"); 调用Start打开
-
php正则表达式匹配img中任意属性的方法
经常和图片打交道,不得不用到一些提取图片中scr.alt.title.等的属性,这里总结给大家一些常用的,感觉还不错,比较通用! PHP正则表达式匹配img中任意属性PHP 复制代码 代码如下: <?php /*PHP正则提取图片img标记中的任意属性*/ $str = '<center><img src="/uploads/images/20100516000.jpg" height="120" width="120"&
-
linux中mac地址绑定方法
一台linux服务器受到ARP攻击,在使用arp -s绑定网关地址时发现命令不能正常使用.绑后网络会断.后经前辈指点在/etc下创建ethers文件.在文件添加,例如192.168.1.25 00:17:31:C3:A3:C4内容.然后执行arp -f即可,完成绑定.如要开机自动绑定,则在/etc/rc.local中加入arp -f即可
-
python re正则匹配网页中图片url地址的方法
最近写了个python抓取必应搜索首页http://cn.bing.com/的背景图片并将此图片更换为我的电脑桌面的程序,在正则匹配图片url时遇到了匹配失败问题. 要抓取的图片地址如图所示: 首先,使用这个pattern reg = re.compile('.*g_img={url: "(http.*?jpg)"') 无论怎么匹配都匹配不到,后来把网页源码抓下来放在notepad++中查看,并用notepad++的正则匹配查找,很轻易就匹配到了,如图: 后来我写了个测试代码,把图片地
-
python 匹配url中是否存在IP地址的方法
因为需要检测一个一个链接中是否包含了IP地址,在这里需要使用到正则表达式 ,python完美的支持了正则表达式,在这里使用re模块来完成,对正则表达式并不是很熟练,每次都是需要用的时候现查一下然后写一下,这里给出来自己的代码以及借鉴别人的匹配模式 #!/usr/bin/env python # -*- coding: utf-8 -*- ''' 功能:对于给定的URL,检测其中是否包含IP ''' import re def ip_exist_two(one_url): compile_rule
-
Python 正则表达式匹配字符串中的http链接方法
利用Python正则表达式匹配字符串中的http链接.主要难点是用正则表示出http 链接的模式. import re pattern = re.compile(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+') # 匹配模式 string = 'Its after 12 noon, do you know where your rooftops are? http://tinyur
-
C#正则表达式匹配HTML中的图片路径,图片地址代码
一般来说一个 HTML 文档有很多标签,比如"<html>"."<body>"."<table>"等,想把文档中的 img 标签提取出来并不是一件容易的事.由于 img 标签样式变化多端,使提取的时候用程序寻找并不容易.于是想要寻找它们就必须写一个非常健全的正则表达式,不然有可能会找得不全,或者找出来的不是正确的 img 标签.我们可以从 HTML 标签的格式去想应该怎么建这个正则表达式.首先要想一下 img
随机推荐
- Centos7下使用yum安装mysql数据库的详细教程(增强版)
- 如何把一长串数字分位显示?
- IOS开发实现手机震动的提示实例代码
- ASP.NET入门之HTML服务器控件概述
- VMware vSphere所需要开放的端口清单
- javascript动画对象支持加速、减速、缓入、缓出的实现代码
- PHP中使用socket方式GET、POST数据实例
- java多线程复制文件的实例代码
- Android实现图片轮播切换实例代码
- 用JS实现一个TreeMenu效果分享
- javascript中的107个基础知识收集整理 推荐
- 关于php 接口问题(php接口主要也就是运用curl,curl函数)
- Android实现本地上传图片并设置为圆形头像
- JavaScript中令你抓狂的魔术变量
- PHP常见错误提示含义解释(实用!值得收藏)
- JS 排序输出实现table行号自增前端动态生成的tr
- 使用Python的Flask框架实现视频的流媒体传输
- java加密解密示例分享
- C语言实现大数据文件的内存映射机制
- Android studio利用gradle打jar包并混淆的方法详解