2013-01-07 1 views
0

< --dle_image_begin : HTTP : //some_url.com/uploads/posts/2012-12/1.png | - SRC = "some_url.com/uploads/posts/2012-12 > < IMG /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 "고도 = = "" /> < ""제목 - 어떻게 prey_match_all와 모든 <!--dle_image_begin: ... <!--dle_image_end-->을 잡을 수 >태그로 가치를 잡는 방법? !

dle_image_end--!? 정말 dle_image_begindle_image_end 사이에 어떤 문제가되지 않습니다 - 난 그냥 (dle_image_begindle_image_end 태그 포함) 배열에 각이 필요합니다.

나는 시도했다 : <!--dle_image_begin:.*([^|]dle_image_end-->)<!--dle_image_begin:.*?(<--dle_image_end-->)과 같은 것이지만 여전히 어떻게 작동 하는지를 이해할 수 없다 ... 누군가가 이것에 대한 조언을 할 수 있을까?

답변

0

그냥 preg_match_all('/(<!--dle_image_begin.*?dle_image_end-->)/', $code, $matches)으로이 정규식을

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

를 사용합니다. $matches에는 모든 일치 항목이 포함됩니다.

<!--dle_image_begin로 시작하는 패턴과 일치하고 그 사이에 아무것도 dle_image_end-->로 끝나는 것입니다. 주변의 괄호는 부분뿐만 아니라 전체 표현식을 일치시키는 데 필요합니다.

0

두 가지 문제가 있습니다. <--dle_image_end<!--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-->