【www.30064.com】php中采纳preg_match_all相配小说中的图片,分析PHP正则提取或沟通img标志属性

可是今后那几个稿子中大概含有一点点表情,我们当然不能够直接领取src路劲了,那样一旦第一张是表情图片的话,就能够提取表情图片来作为封面了,这时候大家就须求写清楚正则来驱除不相配的图形,上边是二个小列子:

preg_match_all 函数:

要协作的字符串:
<img src=image/ad1.gif width=”128″ height=”36″/><img
src=’image/ad2.gif’ width=”128″ height=”36″ />
正则表明式:
<img[s]+src[s]*=[s]*(([‘”](?<src>[^'”]*)[‘”])|(?<src>[^s]*))
正则相称输出结果:
x
image/ad1.gif
image/ad2.gif
PHP正则提取或 img 成分的 src 属性值:

<?php
/*PHP正则提取图片img标识中的狂妄属性*/ $str = ‘<center><img src=”/uploads/images/2009051陆仟.jpg”
height=”120″ width=”120″><br
/>PHP正则提取或更动图片img标识中的猖狂属性</center>’;

复制代码 代码如下:

int preg_match_all ( string pattern, string subject, array matches [,
int flags] )实践三个大局正则表明式相称
在 subject 中寻觅全体与 pattern 给出的正则表明式匹配的剧情并将结果以
flags 钦点的依次放到 matches 中。    
检索到第三个相称项之后,接下去的查找从上叁个合作项末尾开首。  
flags 能够是下列标志的组合(注意把 PREG_PATTERN_ORDER 和
PREG_SET_OCRUISERDEPAJERO 合起来用未有意义): 
PREG_PATTERN_OLX570DEQX56  对结果排序使 $matches[0]
为全方位方式相称的数组,$matches[1]
为率先个括号中的子形式所相称的字符串组成的数组,就那样推算!

 代码如下

//1、取全方位图片代码 preg_match(‘/<\s*img\s+[^>]*?src\s*=\s*(\’|\”)(.*?)\\1[^>]*?\/?\s*>/i’,$str,$match);
【www.30064.com】php中采纳preg_match_all相配小说中的图片,分析PHP正则提取或沟通img标志属性。echo $match[0];

$contents =
‘<p>疲惫是一种享受,让我们大忙空虚;坎坷是一种经历,让大家诚恳的精晓人生;
            辛勤是一种幸福,让我们没临时间体会难熬;奔波是一种欢愉,
    <img src=”” />
    <img src=”” />
    <img src=”” />
    <img src=”” />
    <img
src=”//www.jb51.net/uploads/image/20140420/13979336569926.jpg” />
    <img src=”//www.jb51.net/13979336569926.jpg” />’;

例子:

<?php
/*PHP正则提取图片img标志中的自便属性*/
$str = ‘<center><img src=”/uploads/images/二〇〇八051陆仟.jpg”
height=”120″ width=”120″><br
/>PHP正则提取或更动图片img标志中的任性属性</center>’;
//1、取全方位图片代码
preg_match(‘/<s*imgs+[^>]*?srcs*=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/二零一零051陆仟.jpg”替换为src=”/uploads/uc/images/二零零六051四千.jpg”,并省去宽和高
print
preg_replace(‘/(<img).+(src=”?.+)images/(.+.(jpg|gif|bmp|bnp|png)”?).+>/i’,”${1}
${2}uc/images/${3}>”,$str);
?>

//2、取width preg_match(‘/<img.+(width=\”?\d*\”?).+>/i’,$str,$match);
echo $match[1];

preg_match(‘#<img src=”(?!http:\/\/img.baidu)([^”]+)”#’,
$contents,$matches);

复制代码 代码如下:

Js正则表明式领取图片地址

//3、取height preg_match(‘/<img.+(height=\”?\d*\”?).+>/i’,$str,$match);
echo $match[1];

var_dump($matches);

<?php
$con = file_get_contents(“//www.jb51.net/news/jb-1.html”);
$pattern=”/<[img|IMG].*?src=[\’|\”](.*?(?:[\.gif|\.jpg|\.png]))[\’|\”].*?[\/]?>/”;
preg_match_all($pattern,$con,$match);
print_r($match);
?>

 代码如下

//4、取src preg_match(‘/<img.+src=\”?(.+\.(jpg|gif|bmp|bnp|png))\”?.+>/i’,$str,$match);
echo $match[1];

//运维结果

结果:

//正则表明式
<script
language=”javascript”>
var a='<P><IMG
src=””
mce_src=”;’
var b=/<IMG src=”([^”]*?)”>/gi
var s=a.match(b)
for(var i= 0;i<s.length;i++)
{
alert(s[i]);
alert(RegExp.$1)
}
</script>

/*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/>”;

/*
array (size=2)
  0 => string ‘<img
src=”//www.jb51.net/uploads/image/20140420/13979336569926.jpg”‘
(length=77)
  1 => string
‘//www.jb51.net/uploads/image/20140420/13979336569926.jpg’ (length=66)

复制代码 代码如下:

//2、将src=”/uploads/images/二〇〇八051陆仟.jpg”替换为src=”/uploads/uc/images/20080515000.jpg”,并省去宽和高
print
preg_replace(‘/(<img).+(src=\”?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\”?).+>/i’,”\${1}
\${2}uc/images/\${3}>”,$str);
?>

*/

Array
(
    [0] => Array
        (
            [0] => <img
src=”//www.jb51.net/usr/themes/dddefault/images/logo.png” alt=”脚本学堂”
/>
            [1] => <img style=”display: block; margin-left:
auto; margin-right: auto;” title=”脚本学堂上线了”
src=”//www.jb51.net/usr/uploads/2011/09/531656480.jpg”
alt=”脚本学堂上线了2″ />
            [2] => <img style=”display: block; margin-left:
auto; margin-right: auto;”
src=”//www.jb51.net/usr/uploads/2012/09/2647136297.jpg”
alt=”875EA1C00E50B4542797E24FA6E7E1F2.jpg” />
        )
    [1]www.30064.com , => Array
        (
            [0] =>
//www.jb51.net/usr/themes/dddefault/images/logo.png
            [1] =>
//www.jb51.net/usr/uploads/2012/09/531656480.jpg
            [2] =>
//www.jb51.net/usr/uploads/2012/09/2647136297.jpg
        )
)

你只怕感兴趣的稿子:

  • PHP函数preg_match_all正则表达式的中坚接纳详细分析
  • 剖判php利用正则表明式消除搜集内容排版的标题
  • 分析PHP中的正则表明式以及方式相称
  • php模板函数 正则达成代码
  • php下正则来相称dede模板标签的代码
  • php中字符串和正则说明式详解
  • php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
  • php使用正则表明式进行字符串搜索的法子
  • PHP正则剖析多种循环模板示例

你只怕感兴趣的稿子:

  • PHP提取字符串中的图片地址[正则表明式]
  • 小谈php正则提取图片地址
  • php正则匹配文章中的远程图片地址并下载图片至本地
  • PHP正则获取页面全数图片地址

您可能感兴趣的作品:

  • PHP preg
    match正则表达式函数的操作实例
  • PHP函数preg_match_all正则表明式的着力使用详细深入分析
  • PHP
    正则表明式之正则管理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
  • php小经验:解析preg_match与preg_match_all
    函数
  • PHP的preg_match匹配字符串长度难题一蹴即至方法
  • PHP中preg_match函数正则相配的字符串长度难点
  • php
    preg_match的极度差异国度语言实例
  • PHP正则相称操作简捷示例【preg_match_all应用】
  • PHP
    正则表明式常用函数使用小结
  • PHP提取字符串中的图片地址[正则说明式]
  • php正则表达式使用的事无巨细介绍
  • PHP
    preg_match达成正则表明式相配成效【输出是或不是相配及相称值】

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图