导航:首页 > 编程语言 > php正则匹配图片地址

php正则匹配图片地址

发布时间:2023-01-31 07:27:39

php中用正则表达式获取html中所有图片网址

<?php
$html='你的html代码';
preg_match_all('/s+srcs?=s?['|"]([^'|"]*)/is',$html,$Array);
print_r($Array);
//$Array就是你想要的数组

❷ php如何使用正则表达式匹配url图片啊

$image='<imgsrc="/avatar/100/r6s1g11.jpg"/>';
preg_match('/src="(.*?(jpg|jpeg|gif|png))/',$image,$url);
echo$url[1];

网页上的图片都是使用IMG标签加载的,所以在匹配的时候是以src=" 开始匹配,很多人会觉得为什么不是以 http:// 开始匹配,那是因为图片地址会有相对地址(如:"/xxx/xxx.jpg")和绝对地址(如:"http://www.xxx.com/xxx/xxx.jpg")两种情况,相对地址是没有http:// 的,所以为了这两种情况都能匹配,故以src=" 是最好的。

".*" 是匹配多个字符的意思,?号的意思是只匹配到第一个出现的jpg或jpeg、gif、png。

因为图片有很多格式类型,所以用"(jpg|jpeg|gif|png)"来匹配多个类型,"|"是或者的意思。

❸ 如何用PHP正则替换图片的域名地址

preg_replace('/src="A.com/','src="B.com',$body);

❹ php正则表达式替换图片地址

<?php

/*PHP正则提取图片img标记中的任意属性*/
$str = '<center><img src="/uploads/images/20100516000.jpg" height="120" width="120"><br />PHP正则提取或更改图片img标记中的任意属性</center>';

//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',"\${1}uc/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} \${2}uc/images/\${3}>",$str);

?>

❺ PHP如何正则匹配alt><p></p><img和</div><p></p><div>

1,过滤所有html标签的正则表达式:</?[^>]+>
2,过滤所有html标签的属性的正则表达式:$html = preg_replace("/<([a-zA-Z]+)[^>]*>/","<\\1>",$html);
3,过滤部分html标签的正则表达式的排除式(比如排除<p>,即不过滤<p>):</?[^pP/>]+>
4,过滤部分html标签的正则表达式的枚举式(比如需要过滤<a><p><b>等):</?[aApPbB][^>]*>
5,过滤部分html标签的属性的正则表达式的排除式(比如排除alt属性,即不过滤alt属性):\s(?!alt)[a-zA-Z]+=[^\s]*

❻ php preg_match_all()函数怎么匹配文章中的所有图片链接并打印出来

<?php
$Html=@file_get_contents('5.html');
$Html=preg_replace('/s{2,}| /i','',$Html);//过滤掉换行和2个以上的空格
preg_match_all('/<imgs+[^>]*srcs?=s?['|"]([^'|"]*)['|"]/i',$Html,$Image);
print_r($Image);

图片,通常情况下,无论有什么属性,他最基本的有2点,<img开头, 有src属性!

那么只要匹配到这2个特征,其他的就别管他,这样,所有图片就出来了

❼ 请问怎样用php 正则表达式取设置宽和高的[img][/img]标签里面的图片地址

用php给你运行了一个

$txt='[img=442,296]图片地址1[/img]
[img=300,188]图片地址2[/img]
[img=120,206]图片地址3[/img]';
$re='/[img=(d+,d+)](S+?)[/img]/';//这里修改下,加上一个?防止以单行文本导致的定界符不准问题
$arr=[];
preg_match_all($re,$txt,$arr);
var_mp($arr);

运行结果如下

phptest.php
array(3){
[0]=>
array(3){
[0]=>
string(32)"[img=442,296]图片地址1[/img]"
[1]=>
string(32)"[img=300,188]图片地址2[/img]"
[2]=>
string(32)"[img=120,206]图片地址3[/img]"
}
[1]=>
array(3){
[0]=>
string(7)"442,296"
[1]=>
string(7)"300,188"
[2]=>
string(7)"120,206"
}
[2]=>
array(3){
[0]=>
string(13)"图片地址1"
[1]=>
string(13)"图片地址2"
[2]=>
string(13)"图片地址3"
}
}

//增加一个矩阵转换
$txt='[img=442,296]图片地址1[/img][img=300,188]图片地址2[/img][img=120,206]图片地址3[/img][img=120,206]wwww[/img]';
$re='/[img=(d+,d+)](S+?)[/img]/';

var_mp(preg_match_all_to_array($re,$txt));

functionpreg_match_all_to_array($re,$txt)
{
$arrs=[];
preg_match_all($re,$txt,$arrs);
if($arrs===false)
return$arrs;
//移除到总匹配数据
array_shift($arrs);
$return=[];
//获取矩阵纵长
$arrs_longitudinal=count($arrs);
for($i=0;$i<$arrs_longitudinal;$i++){
//获取单列横长
$arrs_transverse=count($arrs[$i]);
for($j=0;$j<$arrs_transverse;$j++){
$return[$j][$i]=$arrs[$i][$j];
unset($arrs[$i][$j]);
}
unset($arrs[$i]);
}
return$return;
}

❽ PHP正则markdown文本中图片的地址

❾ php正则匹配img标签,并删除

$str = 'alksdfjlaksj<img src="21412">';
$str = strip_tags($str,'img');
echo $str;

❿ preg_match_all() | php正则匹配图片路径,怎么取完整的图片链接。带http开头,求解决

你的正则应景可以完美匹配了,结果出现相对地址的原因可能是你的图片地址本来就不是绝对地址。
var_mp($img_array[2]);

阅读全文

与php正则匹配图片地址相关的资料

热点内容
程序员鼓励自己的代码 浏览:389
计算机网络原理pdf 浏览:750
吃鸡国际体验服为什么服务器繁忙 浏览:92
php中sleep 浏览:488
vr怎么看视频算法 浏览:84
手机app如何申报个人所得税零申报 浏览:692
如何截获手机app连接的ip 浏览:330
冰箱压缩机是否需要电容 浏览:344
python列表每一行数据求和 浏览:274
自己有一台服务器可以玩什么 浏览:656
社会学波普诺pdf 浏览:584
解压做食物的小视频 浏览:758
pdf怎么单独设置文件夹 浏览:474
业务逻辑程序员 浏览:659
addto新建文件夹什么意思 浏览:162
有服务器地址怎么安装软件 浏览:660
安卓如何完全清除数据 浏览:692
安卓安卓证书怎么信任 浏览:54
服务器被攻击如何解决 浏览:223
学霸变成程序员 浏览:883