php获取html标签image的src内容 正则表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php获取html标签image的src内容 正则表达式相关的知识,希望对你有一定的参考价值。

比如‘test.html’中有这样一段:
<img id="Image1" align="absmiddle" src="vcode.aspx?num=4171" style="border-color:Blue;border-width:1px;border-style:solid;">
我的目的是得到数字‘4171’,这个数字每次刷新都会变,但却是固定4位。
方法应该很多,4171的位置是固定的,就是得到字符串<img id="Image1" align="absmiddle" src="vcode.aspx?num=4171" style="border-color:Blue;border-width:1px;border-style:solid;">也行了,那如何得到html中的属性值呢?或者用正则,但我不会。该怎么得到呢?phpquery好像只能得到内容啊,不能得到标签的属性值

php获取html标签image的src内容 正则表达式写法如下:
$str = \'<img src="1.gif" >\';
preg_match_all(\'/<img.*?src="(.*?)".*?>/is\',$str,$array);
print_r($array);

php对图片的操作正则表达式详解:

//1、取整个图片代码
preg_match(\'/<\\s*img\\s+[^>]*?src\\s*=\\s*(\\\'|\\")(.*?)\\\\1[^>]*?\\/?\\s*>/i\',$str,$match);
echo $match[0];
//2、取width
preg_match(\'/<img.+(width=\\"?\\d*\\"?).+>/i\',$str,$match);
echo $match[1];
//3、取height
preg_match(\'/<img.+(height=\\"?\\d*\\"?).+>/i\',$str,$match);
echo $match[1];
//4、取src
preg_match(\'/<img.+src=\\"?(.+\\.(jpg|gif|bmp|bnp|png))\\"?.+>/i\',$str,$match);
echo $match[1];
/*PHP正则替换图片img标记中的任意属性*/
//1、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg")
print preg_replace(\'/(<img.+src=\\"?.+)(images\\/)(.+\\.(jpg|gif|bmp|bnp|png)\\"?.+>)/i\',"\\$1uc/images/\\$3",$str);
echo "<hr/>";
//2、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg",并省去宽和高
print preg_replace(\'/(<img).+(src=\\"?.+)images\\/(.+\\.(jpg|gif|bmp|bnp|png)\\"?).+>/i\',"\\$1 \\$2uc/images/\\$3>",$str);
?>
参考技术A 如果你指的是HTML页面文件中的属性解析,最简单的方法就是下载一个开源的HTML解析工具,用你的代码把它集成进去。或者你自己写一个解析函数,把整个HTML文件一行行读取出来,然后用CString类中的find进行查找。追问

解析器,,没接触过。就是比如xxx这样的东西,我想得到height = '100',而不是xxx,这样子得用到解析器吗?

如何使用 php 从 Image 标签中单独获取 src? [复制]

【中文标题】如何使用 php 从 Image 标签中单独获取 src? [复制]【英文标题】:How can i get src alone from Image tag using php? [duplicate] 【发布时间】:2011-09-13 23:25:12 【问题描述】:

可能重复:How to extract img src, title and alt from html using php?

<img   src="http://runapvo.apivo.com/files/2011/06/2444-200x300.jpg" class="attachment-medium"  title="2444" />

从这个图像标签我需要单独使用src。我怎样才能做到这一点?有没有预定义的函数可用?...

【问题讨论】:

***.com/search?q=get+src+html+php 【参考方案1】:

使用loadHtml将其加载到DOM树中并对其进行xpath,如果结构始终相同,则直接遍历它。

见How to extract img src, title and alt from html using php?

【讨论】:

【参考方案2】:

假设您在页面上显示图像

您应该使用html dom parser。这将允许您解析自己的页面。虽然我很想问你为什么要在所有语言的 php 中这样做?如果您只需要静态页面上的 src,那不应该改变,因此您无需在每次想要获取其 src 时调用 php。如果它是动态的(如由 php 变量定义的),您仍然应该能够访问该变量。

假设页面不属于你

您将要使用正则表达式和 php 抓取页面,this 几乎可以回答如何。

旁注:

如果没有必要在 php 中执行此操作,我建议使用以下 javascript 函数将工作传递给客户端:

document.getElementById("MyIMG").src

这可能不利的唯一原因是,如果服务器需要该 src,客户端将没有 js(即手机浏览器),或者客户端非常糟糕,运行额外的 javascript 可能会导致它崩溃:)

【讨论】:

以上是关于php获取html标签image的src内容 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

php简单正则匹配Img标签src内容采集?

正则表达式和 PHP - 从 img 标签中隔离 src 属性

正则表达式替换 PHP 中的 html src 属性

如何使用 php 从 Image 标签中单独获取 src? [复制]

php 怎么输出img的src

如何解析图像标签的 HTML 字符串以获取 SRC 信息?