테스트 사이트 - 개발 중인 베타 버전입니다

리스트에서 에디터 이미지 여러개 채택완료

코란쿠 4년 전 조회 1,596

<?php
            $n = 0;
            for ($i=0; $i < $list_cnt; $i++) { 

                // 글수 체크
                if (!$list[$i]['is_notice'])
                $n++;


                preg_match_all("/<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i", $list[$i]['wr_content'],$matches);

                $img = get_view_thumbnail($matches[1][0]);

 

한개 아닌 여러개 뽑아 올려면 어떻게 하면 될까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

코란쿠
4년 전

print_r( $match); 에서 한개밖에 안나옵니다. 이미지가 3개인데 이미지 하나만 나오네요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

엑스엠엘
4년 전
preg_match_all() 함수를 사용하세요.
https://www.php.net/manual/en/function.preg-match-all.php

댓글을 작성하려면 로그인이 필요합니다.

코란쿠
4년 전

$pattern = "/<img.*?src=[\"']?(?P<url>[^(http)].*?)[\"' >]/i";

                preg_match($pattern,stripslashes(str_replace('&','&',$list[$i]["wr_content"])), $match);

                $img = substr($match['url'],1);

 

이것도 여러개 안되나요? 하나씩 해야 되요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

엑스엠엘
4년 전
이미지가 두 개인 게시물에서
preg_match($pattern,stripslashes(str_replace('&','&',$list[$i]["wr_content"])), $match);
이후에
print_r( $match);
라고 하셔서 배열이 어떤 형식인지 한번 파악해 보세요.

댓글을 작성하려면 로그인이 필요합니다.

 $img = get_view_thumbnail($matches[1][0]);

 $img1 = get_view_thumbnail($matches[1][1]);

이런 식으로 해 보세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인