wr_content 내용중에 URL 주소만 제외하기
본문
아래 질문글을 잘못 올린거 같아서 다시 올립니다.
빨간망토님 답글중
<?
$str = "www.naver.com 는 어쩌구저쩌구,
sir.co.kr 안나오구
도메인 형식은 모두 ";
$tstr = preg_replace("/(http(s)?:\/\/)?\S+(\.[^(\n|\t|\s|\/))]+)+/", "", $str);
echo $tstr;
?>
위와같이 설명을 해주셨는데
뒷주소는 그대로 존재하더라구요.
http://sir.co.kr/qa/write~~~ 모두 안나오게 하고싶은데
sir.co.kr 쪽만 사라지고 뒤로는 계속 나와서
http://sir.co.kr/qa/write ~~ 모두 제외하고 싶습니다.
정리하자면..
내용중에
원문 : SIR 사이트의 게시판 주소는 http://sir.co.kr/qa/write.php~~ 입니다.
결과 : SIR 사이트의 게시판 주소는 입니다.
와같이 주소부분만 쏙 빼고 싶습니다!!
고수님들 좋은 조언좀 부탁드립니다.
답변 3
<?
$content = "http://www.naver.com/erewr/wer 는 어쩌구저쩌구,
http://www.daum.net 는 어쩌구저쩌구,
http://www.sir.co.kr 는 어쩌구저쩌구
sir.co.kr 안나오구
도메인 형식은 모두 ";
$pattern = "#(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'.,<>?«»‘’]))#iS";
if (preg_match_all($pattern, $content, $matches)) {
foreach ($matches[0] as $match) {
if (filter_var($match, FILTER_VALIDATE_URL)) {
$content = str_replace($match, '', $content);
}
}
echo $content;
}
?>
답글을 끌어올려서 질문글이 괜히 헷갈리게 만들어 죄송합니다.
쉽게 설명하자면..
예로 $view[wr_content] 에 값중에 도메인 주소가 있다면 해당값(도메인 주소)을 제외하는 명령어를 알고 싶습니다.
그러니깐 ..
내용이 " 애플 다운로드 홈페이지는 http://apple.com/download/down.php 에 가시면 됩니다. "
위를 도메인만 빼서
"애플 다운로드 홈페이지는 에 가시면 됩니다. " 이렇게 나오게끔요^^