PHP正则表达式提取html超链接中的href地址

用php的正则表达式相关函数,实现提取html超链接<a href="地址"></a>中的地址

<?php

$preg=‘/<a .*?href="(.*?)".*?>/is‘;

$str =‘<a href="链接1">URLNAME</a>文本段1<a href="链接2" target="_blank">URLNAME</a>文本段2<a  target="_blank" href="链接3">URLNAME</a>...文本段n‘;

preg_match_all($preg,$str,$match);//在$str中搜索匹配所有符合$preg加入$match中

for($i=0;$i<count($match[1]);$i++)//逐个输出超链接地址

{

echo $match[1][$i]."<br />";

}

?>

最终输出:

链接1<br />链接2<br />链接3<br />

附一个

PHP的正则表达式提取图片地址的代码。

$str=‘<p style="padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 200%;"><img border="0" src="upfiles/2009/07/1246430143_4.jpg" /></p><p style="padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 200%;"><img border="0" src="upfiles/2009/07/1246430143_3.jpg" /></p><p style="padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 200%;"><img border="0" src="upfiles/2009/07/1246430143_1.jpg" /></p>‘;

$pattern="/<[img|IMG].*?src=[‘|"](.*?(?:[.gif|.jpg]))[‘|"].*?[/]?>/";

preg_match_all($pattern,$str,$match);

print_r($match);

时间: 2024-10-14 03:13:30

PHP正则表达式提取html超链接中的href地址的相关文章

java正则表达式提取xxxx(yyyy)中的内容

在古诗中,我们提取到了题目与作者在一起的数据,如 行宫(元稹) 里面的括号是英文括号,现在要分别提取出标题与作者.有两种方案: (1)通过split得到 String [] strArray = Pattern.compile("\\(|\\)").split("行宫(元稹)"); for (String str : strArray){ System.out.println(str); } 输出为 行宫元稹 (2)通过普通捕获组得到 Pattern p = Pat

C#正则表达式提取文本中以逗号间隔的数据

使用正则表达式提取文本数据到内存是很方便的技术,下面通过一个例子介绍一下如何使用正则表达式提取文本 文本中内容格式 1,2,3,4,5 2,2,2,2,2 3,3,3,3,3 C#代码如下 public List<List<string>> GetDataCSV(string path) {         string pattern = @"\d+"; List<List<string>> data = new List<Lis

C#中使用正则表达式提取超链接地址的集中方法

一般在做爬虫或者CMS的时候经常需要提取 href链接或者是src地址.此时可以使用正则表达式轻松完成. Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(?<url>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>"); MatchCollection mc = reg.Ma

JMeter中的关联-正则表达式提取(2)

JMeter获取正则表达式中的提取的所有关联值的解决方法: 需求如下: { : "error_no":"0", : "results": : [ : : { : : : "total_earnings":"", : : : "num_page":"5", : : : "retrace_rate_thirty":"0.0061",

Jmeter中正则表达式提取器使用详解

在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter的Sampler中的调用. 一.首先来介绍一下Jmeter中正则表达式如何添加,如下图 二.介绍一下Jmeter中正则表达式提取器的元素组成 下面是各参数值的含义: 参数 释义 引用名称 在HTTP等请求中,引用此数据,需要用到的名称 正则表达式 用于将需要的数据提取出来 模板 表示使用提取到的第几个值:$-1$:表示取

jmeter获取响应数据中参数值的常用方式(JSON提取器 、正则表达式提取器 、XPath提取器 、Bean Shell PostProcessor)

JSON提取器: XPath提取器: 返回数据格式是HTML的时候,选择使用此种方式. 正则表达式提取器: 图中Field to check勾选的是Response Headers,获取的是请求头里的参数值. Bean Shell PostProcessor脚本获取方式: 原文地址:https://www.cnblogs.com/zeqi666/p/10245454.html

jmeter正则表达式提取器--关联

http://desert3.iteye.com/blog/1394934 1.http://www.cnblogs.com/quange/archive/2010/06/11/1756260.html 2.http://blog.csdn.net/zhangren07/archive/2010/10/15/5944158.aspx <input type="hidden" name="hidName" value="(.*)">  

使用正则表达式提取网页有效信息

从HTML页面提取内容所面临的主要问题是,我们必须寻找一种方法精确地识别出自己想要的那一部分内容. 以下是利用正则表达式匹配并提取网页中特定信息的方法: 采集网页中所有链接标记: <a[^>]*?>[\s\S]*?</a> 以上可以修改a标记采集对应的标记元素. 采集图片: <img[^>]*?/?> 以上可以修改img标记采集对应的标记元素. <div[^>]*?id="idname"[^>]*?>[\s\S]*

asp.net正则表达式提取网页网址、标题、图片实例以及过滤所有HTML标签实例

无论你用什么语言,正则表达式的处理方法都是非常灵活.高效的,尤其是对某些字符串的抓取.过滤方面,更显其优势. 正则表达式的写法通常比较简单,几行短代码便能轻松完成看似很复杂的事情,更值得称赞的是,它的执行效率非常高,运行速度相当快.因此我在项目的开发中,通常把正则表达式作为处理问题的首选方法. 正则表达式的运用,在各种语言里都是相通的,也就是说,当你懂得在PHP中使用正则表达式,那么在任何一种语言中也能轻驾就熟. 这里给出两个asp.net实例. 1.asp.net正则表达式提取网址.标题.图片