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

이미지 관련 정규식 질문 드립니다. 채택완료

드림님 10년 전 조회 3,403

</p><p> </p><p style="margin-left: 40px;"><div class="ctn"></p><p style="margin-left: 80px;">내용ㅁㅇㅁㄴㅇㅁㄴㅇ</p><p style="margin-left: 80px;"><img src="<a href="<a href="http://naver.com/a.jpg" target="_blank" rel="noopener noreferrer">http://naver.com/a.jpg</a>"><a href="http://naver.com/a.jpg" target="_blank" rel="noopener noreferrer">http://naver.com/a.jpg</a></a>"></p><p style="margin-left: 80px;"><span>ㅁㄴㅇㅁㄴㅇㅁㄴㅇ</span></p><p style="margin-left: 80px;"><img src="<a href="<a href="http://daum.net/b.gif" target="_blank" rel="noopener noreferrer">http://daum.net/b.gif</a>"><a href="http://daum.net/b.gif" target="_blank" rel="noopener noreferrer">http://daum.net/b.gif</a></a>"></p><p style="margin-left: 80px;">텍스트텍스트</p><p style="margin-left: 40px;"></div></p><p> </p><p>

 

위와 같은 소스가 있다고 가정하면.. 패턴은 일정하지 않습니다.

내용에 이미지 갯수 및 주소는 모두 달라질 수 있고요.

 

간단하게 위의 코드에서 이미지 경로를 모두 빼버리고 싶습니다.ㅠ

몇시간을 검색해봐도 도저히 모르겠네요...

조언을 부탁드립니다.

 

아래와 같은 결과를 원합니다.

 

</span></p><p> </p><p style="margin-left: 40px;"><div class="ctn"></p><p style="margin-left: 80px;">내용ㅁㅇㅁㄴㅇㅁㄴㅇ</p><p style="margin-left: 80px;"><img src="a.jpg"></p><p style="margin-left: 80px;"><span>ㅁㄴㅇㅁㄴㅇㅁㄴㅇ</span></p><p style="margin-left: 80px;"><img src="b.gif"></p><p style="margin-left: 80px;">텍스트텍스트</p><p style="margin-left: 40px;"></div></p><p> </p><p><span style="font-size: 10pt; line-height: 1.5;">

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

답변 1개

채택된 답변
+20 포인트
10년 전

</p><p><?php 
header("Content-Type: text/html; charset=UTF-8");
require ("simple_html_dom.php");
 
$string = '
<div class="ctn">
내용ㅁㅇㅁㄴㅇㅁㄴㅇ
<img src="<a href="<a href="http://naver.com/a.jpg" target="_blank" rel="noopener noreferrer">http://naver.com/a.jpg</a>"><a href="http://naver.com/a.jpg" target="_blank" rel="noopener noreferrer">http://naver.com/a.jpg</a></a>">
<span>ㅁㄴㅇㅁㄴㅇㅁㄴㅇ</span>
<img src="<a href="<a href="http://daum.net/b.gif" target="_blank" rel="noopener noreferrer">http://daum.net/b.gif</a>"><a href="http://daum.net/b.gif" target="_blank" rel="noopener noreferrer">http://daum.net/b.gif</a></a>">
텍스트텍스트
</div>';</p><p> </p><p>$html = str_get_html($string);</p><p>foreach($html->find('img') as $element) {</p><p> $search_key = $element->src;</p><p> $replace_key = explode('/',$element->src);
 $replace_result = $replace_key[count($replace_key)-1];</p><p>
 $string = str_replace($search_key, $replace_result, $string).'
';
}
 
echo $string;</p><p>?>​</p><p>

 

간단한 방법으로 바꿔봤습니다. 정규식은 잘 안써서 다시 짜려면 시간이 좀 걸려서요 ㅎㅎ

 

http://sourceforge.net/projects/simplehtmldom/files/">http://sourceforge.net/projects/simplehtmldom/files/  (다운로드 링크)

오픈소스이고, html을 php에서 파싱하기 편하게 라이브러리를 제공합니다.

 

http://simplehtmldom.sourceforge.net/manual.htm">http://simplehtmldom.sourceforge.net/manual.htm 

(Document 링크)

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

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

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

로그인