mysql Regexp 정규식 축출 하려하는데 이건 어떻게해야해요?

mysql Regexp 정규식 축출 하려하는데 이건 어떻게해야해요?

QA

mysql Regexp 정규식 축출 하려하는데 이건 어떻게해야해요?

답변 1

본문

제가잘몰라서요 ㅜㅜ

밑에 코드중에서 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;
?>
답변을 작성하시기 전에 로그인 해주세요.
전체 1
© SIRSOFT
현재 페이지 제일 처음으로