채택완료

wr_content 내용중에 URL 주소만 제외하기

2015-05-08 (금) 14:55:42 4,604

아래 질문글을 잘못 올린거 같아서 다시 올립니다.

빨간망토님 답글중

<?

$str = "www.naver.com 는 어쩌구저쩌구, 

        http://www.daum.net 는 어쩌구저쩌구, 

http://www.sir.co.kr 는 어쩌구저쩌구 

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개 / 댓글 4개

채택된 답변
+20 포인트
2015-05-08 (금) 15:40:09

<?

$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;

}

?>  

답변에 대한 댓글 1개

아주 훌륭하게 잘적용됐습니다.
대단히 감사드립니다. !! .
2015-05-08 (금) 15:08:46

답글을 끌어올려서 질문글이 괜히 헷갈리게 만들어 죄송합니다.

쉽게 설명하자면..

예로 $view[wr_content] 에 값중에 도메인 주소가 있다면 해당값(도메인 주소)을 제외하는 명령어를 알고 싶습니다.

그러니깐 ..

내용이 " 애플 다운로드 홈페이지는 http://apple.com/download/down.php 에 가시면 됩니다. "

위를 도메인만 빼서

"애플 다운로드 홈페이지는 에 가시면 됩니다. " 이렇게 나오게끔요^^

답변에 대한 댓글 2개

2015-05-08 (금) 15:13:00
제가 테스트해 보니 잘됩니다 ^^
$str = "애플 다운로드 홈페이지는 http://apple.com/download/down.php 에 가시면 됩니다.";

$tstr = preg_replace("/(http(s)?:\/\/)?\S+(\.[^(\n|\t|\s|\/))]+)+/","",$str);

echo $tstr;
흠.. 이상하네 제가 테스트해보면...
apple.com 메인 주소는 없어지는게 맞는데 뒷쪽 주소는 고스란히 남아있습니다 ㅜ
무슨 말씀이신지 이해가?

답변에 대한 댓글 1개

아.. 그러니깐..
예를 들어 $view[wr_content] 에 내용이 있다면..
그 내용중에서 도메인주소만 빼고 싶다는 듯입니다^^


[[[ SIR 사이트의 게시판 주소는 http://sir.co.kr/qa/write.php~~ 입니다. ]]]

위와같이 내용중에 URL 주소가 포함되어있다면..

[[[ SIR 사이트의 게시판 주소는 입니다. ]]]

이런식으로 도메인주소부분만 쏙 빼서 결과값을 나타내고 싶습니다.

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