본문내용 특정단어를 URL 적용하여 저장

본문내용 특정단어를 URL 적용하여 저장

QA

본문내용 특정단어를 URL 적용하여 저장

본문

뉴스 게시판을 만들고 있는데요.
본문 내용($wr_content)을 저장 시, DB에 저장된 url로 치환하여 저장하고 싶은데요.
어떻게 설계해야 할지  난감하여 질문드립니다.

한수 지도 바랍니다.


* 본문내용
$wr_content = '<p>새만금개발청은 4월 5일 식목일을 맞아 새만금청사에서 전라북도·군산시·김제시·부안군·새만금개발공사·한국농어촌공사 합동으로 나무심기 행사를 가졌다.  </p>';


* url 테이블
id            title                                   url
1     새만금개발청       http://www.saemangeum.go.kr
2     식목일                 https://namu.wiki/w/식목일
3     한국농어촌공사    http://www.ekr.or.kr
...
...

* 본문 DB에 있는 단어 URL 적용
$wr_content = '<p><a href="http://www.saemangeum.go.kr" target="_blank">새만금개발청</a>은 4월 5일 <a href="https://namu.wiki/w/식목일" target="_blank">식목일</a>을 맞아 새만금청사에서 전라북도·군산시·김제시·부안군·새만금개발공사·<a href="http://www.ekr.or.kr" target="_blank">한국농어촌공사</a> 합동으로 나무심기 행사를 가졌다.  </p>';

이 질문에 댓글 쓰기 :

답변 1

preg_replace_callback() 함수를 이용해서 다음과 같이 할 수 있겠습니다.

 


$wr_content = '<p>새만금개발청은 4월 5일 식목일을 맞아 새만금청사에서 전라북도·군산시·김제시·부안군·새만금개발공사·한국농어촌공사 합동으로 나무심기 행사를 가졌다.  </p>';
$from = ['새만금개발청', '식목일', '한국농어촌공사'];
$to = ['http://www.saemangeum.go.kr', 'https://namu.wiki/w/식목일', 'http://www.ekr.or.kr'];
$fromAsPattern = array_map(function($item) { return '/'.$item.'/'; }, $from);
$map = array_combine($from, $to);
$wr_content2 = preg_replace_callback($fromAsPattern, function($m) use ($map) {
    return sprintf('<a href="%s">%s</a>', $map[$m[0]], $m[0]);
}, $wr_content);
답변을 작성하시기 전에 로그인 해주세요.
전체 123,532 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT