2013-01-07 46 views
0

< --dle_image_begin:HTTP://some_url.com/uploads/posts/2012-12/1.png | - > < IMG SRC =「some_url.com/uploads/posts/2012-12 /1.png 「ALT =」 「稱號=」「 /> < - dle_image_end-- >唧唧歪歪喇嘛 < --dle_image_begin:!HTTP://some_url.com/image/2 .png | - > < img src =「some_url.com/uploads/image/2.png」alt =「」title =「 「 /> < - dle_image_end-- >唧唧歪歪 < --dle_image_begin:HTTP:!//some_url.com/asfafsdsaf | - > < IMG SRC =」 some_url.com/asfafsdsaf」 ALT = 「」 稱號= 「」 /> < - !dle_image_end-- >如何用標籤捕捉價值? !

如何抓住每一個<!--dle_image_begin: ... <!--dle_image_end-->prey_match_alldle_image_begindle_image_end之間的內容真的沒有關係 - 我只需要將它們分別排列(包括dle_image_begindle_image_end標籤)。

我試過了:類似<!--dle_image_begin:.*([^|]dle_image_end-->)<!--dle_image_begin:.*?(<--dle_image_end-->),但仍不明白它是如何工作的......有人可以給這個提示嗎?

回答

0

只要使用這個表達式

/(<!--dle_image_begin.*?dle_image_end-->)/ 

preg_match_all('/(<!--dle_image_begin.*?dle_image_end-->)/', $code, $matches)$matches將包含所有匹配項。

它將匹配以<!--dle_image_begin開頭並以dle_image_end-->結尾的任意圖案。括號中的括號是可以匹配整個表達式的,而不僅僅是一個部分。

0

有兩個問題。​​應該是<!--dle_image_end,你可以離開了括號:

<?php 

    $source = <<<SOURCE_HEREDOC 
<!--dle_image_begin:http://some_url.com/uploads/posts/2012-12/1.png|--><img src="some_url.com/uploads/posts/2012-12/1.png" alt="" title="" /><!--dle_image_end--> bla bla bla bla <!--dle_image_begin:http://some_url.com/image/2.png|--><img src="some_url.com/uploads/image/2.png" alt="" title="" /><!--dle_image_end--> bla bla bla <!--dle_image_begin:http://some_url.com/asfafsdsaf|--><img src="some_url.com/asfafsdsaf" alt="" title="" /><!--dle_image_end--> 
SOURCE_HEREDOC; 

    $regex = "/<!--dle_image_begin:.*?--dle_image_end-->/"; 

    preg_match_all($regex,trim($source),$matches); 

    echo "\n"; 
    foreach($matches as $match) { 
    foreach($match as $part) { 
     echo "\n"; 
     echo " -> ".$part; 
     echo "\n"; 
    } 
    } 
    echo "\n"; 
?> 

輸出:

-> <!--dle_image_begin:http://some_url.com/uploads/posts/2012-12/1.png|--><img src="some_url.com/uploads/posts/2012-12/1.png" alt="" title="" /><!--dle_image_end--> 

    -> <!--dle_image_begin:http://some_url.com/image/2.png|--><img src="some_url.com/uploads/image/2.png" alt="" title="" /><!--dle_image_end--> 

    -> <!--dle_image_begin:http://some_url.com/asfafsdsaf|--><img src="some_url.com/asfafsdsaf" alt="" title="" /><!--dle_image_end-->