> php教程 > PHP源码 > 본문

PHP正则实战之匹配图片地址程序代码

WBOY
풀어 주다: 2016-06-08 17:21:51
원래의
1007명이 탐색했습니다.

取所有内容中图片的地址我们必须使用正则表达式来匹配了,如果不使用它来匹配我们是无法获取到或才能获取到也是非常的麻烦了,下面我们一起来看看我整理了几段匹配图片地址程序代码吧。

图片网址规范的html代码无非就是

《img title="??" src="/wp-admin/%E5%9B%A73" alt="??" title="??" width="5" height="6" /》

??和??是非必需的,若要通过XHTML认证??、??、??必不可少,??是核心内容,当然就不能少了。

就正则谈正则的话,我写出的最短匹配是

(?

不过,这条在php里不行,会出现:

Warning: preg_match_all() [function.preg-match-all]: Compilation failed: lookbehind assertion is not fixed length at offset *** in ***

纠结了很久,都不行,原因何在呢?试了很多次,终于发现问题在(?

所以

(?

(?

可能可以,但不保证100%没问题。

你也许会问,单纯

(?

不行吗?通常情况,可以,但,搜索过页面的盆友应该知道,除了图片地址用src开头以外,javascript地址也用src开头!而且,太多神通广大的不可预知因素隐含其中,于是这个貌似很简短完美的写法就行不通了。

你又或许会问,聪明简短的不行,我把图片的后缀列出来,总该可以了吧,如

(?

的确,这个写法实在是很老实,不过,你见过没有后缀的图片?wwe.com 有很多这种例子呢

段一,匹配地址方法

内容:

 代码如下 复制代码

PHP正则实战之匹配图片地址程序代码
PHP正则实战之匹配图片地址程序代码
PHP正则实战之匹配图片地址程序代码

PHP代码:

$p = "/src=\"([^\"]+)/isu";
//$p = "/]+>/isu";
//$p = "/]+>/isu";
preg_match_all($p, $html, $m);
var_dump($m);

结果:

Array
(
    [0] => Array
        (
            [0] => src="/pic/r/e6/14/28b4766b65373ae6a3b3faccc81f_400_536.jpg
            [1] => src="/pic/r/e6/14/28b4766b65373ae6a3b3faccc81f_400_536.jpg
            [2] => src="/pic/r/e6/14/28b4766b65373ae6a3b3faccc81f_400_536.jpg
          
 
    [1] => Array
        (
            [0] => /pic/r/e6/14/28b4766b65373ae6a3b3faccc81f_400_536.jpg
            [1] => /pic/r/e6/14/28b4766b65373ae6a3b3faccc81f_400_536.jpg
            [2] => /pic/r/e6/14/28b4766b65373ae6a3b3faccc81f_400_536.jpg
          
        )
 
)

段二,

 代码如下 复制代码

newstext=preg_replace(preg_replace('/(PHP正则实战之匹配图片地址程序代码]+src\s*=\s*”?([^>"\s]+)”?[^>]*>)/im', ‘$1', $newstext);

1.preg_replace和str_replace的区别:

str_replace只是纯字符替换,而preg_replace才是正则替换

2.$0,$1,$2等的说明:

$0指的是被整个模式所匹配的文本;

$1指的是首个 ( ) 引用的串;

$2指的是第二个()引用的串; 以此类推。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!