mysql Regexp 정규식 축출 하려하는데 이건 어떻게해야해요?
본문
제가잘몰라서요 ㅜㅜ
밑에 코드중에서 mysql Regexp 정규식 축출 하려하는데 이건 어떻게해야해요?
g5_write_test 라는 테이블에 wr_id=1 이 내용중이라고 가정하고요
wr_content 내용이고
본문 맨처음 시작부분에있는것들인데
밑에 코딩중에서 중간에
<img src="https://test.com/a.jpg" editor_component="image_link"/>만 남기고
나머지 앞<div><a> 뒤</a></div> 부분은 삭제하고싶습니다
즉 앞부분
<div style="box solid #000; line-height:0; padding:0 !important;"><a href="https://test.com/a.jpg" data-lightbox="view-lightbox" target="_blank">
과 뒷부분 </a></div> 는 삭제하고싶습니다
<div style="box solid #000; line-height:0; padding:0 !important;"><a href="https://test.com/a.jpg" data-lightbox="view-lightbox" target="_blank"><img src="https://test.com/a.jpg" editor_component="image_link"/></a></div>
답변 1
<?php
$a='<div style="box solid #000; line-height:0; padding:0 !important;"><a href="https://test.com/a.jpg" data-lightbox="view-lightbox" target="_blank"><img src="https://test.com/a.jpg" editor_component="image_link"/></a></div>';
//방법1: 해당 부분만 추출하기(이미지태그가 하나라고 가정)
$pattern = "#<div.+<a.+data-lightbox=\"view-lightbox\".+(<img[^<]+)<\/a><\/div>#";
preg_match($pattern, $a, $match);
echo $match[1];
//방법2: 해당 부분을 제외한 나머지 삭제
$pattern2 = "#(<div.+)(<img[^<]+)(<\/a><\/div>)#";
$a = preg_replace($pattern2, "$2", $a);
echo $a;
?>
답변을 작성하시기 전에 로그인 해주세요.