preg_replace 소스변환 채택완료

10년 전 조회 4,957
Copy
$view[content] = preg_replace("/(\<img )([^\>]*)(src=)([^\>]*)(\>)/i", "<a href=\\4 rel=\"lightbox[view]\">\\1\\2\\3\\4\\5</a>", $view[content]);

라이트박스 출력을 하려고 하는데.. 위처럼 하면 <img src= 이 붙는 모든 이미지가 다 출력이 됩니다.

손톱만한 이모티콘까지...다 출력이 됩니다.

그래서 /data/ 폴더안에 있는 파일만 출력하고 싶은데...

위 코드에서 <img src=  를 <img src="/data/ 로 인식할 수 있게 수정 부탁드립니다.

답변 1개

채택된 답변
+20 포인트

말씀하신 내용대로라면 preg_replace 보다는 

preg_match_all 함수를 사용하여 일정한 패턴을 지니고 있는 내용만 추출하는게 더 맞지 않을까 생각됩니다.

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

답변에 대한 댓글 1개

preg_match_all 은 몰라서;;;
위 소스에서 앞뒤로 중복되는 data 넣어주고 \\를 $로 변경하니까 잘되네요.
감사합니다.

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

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

로그인
🐛 버그신고