아래 소스를 실행하면 'naver.com daum.net nate.com' 를 제외하고는 모두 'http://도메인' 으로 변경됩니다.
'naver.com daum.net nate.com' 등 'www.' 가 없는 경우에도 'http://도메인' 으로 변경되도록 하기 위해서는 어떻게 하면 좋을지 자문 부탁드립니다.
'naver.com daum.net nate.com' 등 'www.' 가 없는 경우에도 'http://도메인' 으로 변경되도록 하기 위해서는 어떻게 하면 좋을지 자문 부탁드립니다.
Copy
$str = "www.naver.com naver.com daum.net www.daum.net nate.com www.nate.com http://www.naver.com http://naver.com http://daum.net http://www.daum.net http://nate.com http://www.nate.com"; $str = preg_replace("/(^|[\"'\s(])(www\.[^\"'\s()]+)/i", "http://\\2</A>", $str); echo $str;
|
답변 1개 / 댓글 5개
채택된 답변
+20 포인트
9년 전
다음처럼 해 보세요.
$str = preg_replace("/(^|[\"'\s(])([^\"'\s(https?:\/\/)]+)/i", "http://\\2</A>", $str);
답변에 대한 댓글 5개
9년 전
알려주신 바와 같이 해보니, 'http://www.naver.comhttp://naver.comhttp://daum.nethttp://www.daum.nethttp://nate.comhttp://www.nate.com' 이 부분이 1개 링크로 잡히네요..^^
네이비칼라
9년 전
그럼 한칸 뛰면 되죠 ㅋㅋㅋ
"http://\\2</A>" => " http://\\2</A>" 이렇게 해 보시죠 ㅎㅎ
"http://\\2</A>" => " http://\\2</A>" 이렇게 해 보시죠 ㅎㅎ
9년 전
'www', 'http' 여부와 상관없이 모두 링크로 수정됩니다만, 문제는 일반 텍스트까지 전부 변환됩니다..
→ ex) test http://Comment http://테스트 http://댓글 http://www.daum.net http://daum.net http://www.daum.net http://daum.net http://www.naver.com http://naver.com http://www.naver.com http://naver.com
지금 확인해보니 상기 내용과 같은 문제가 있네요 ..ㅠㅠ
→ ex) test http://Comment http://테스트 http://댓글 http://www.daum.net http://daum.net http://www.daum.net http://daum.net http://www.naver.com http://naver.com http://www.naver.com http://naver.com
지금 확인해보니 상기 내용과 같은 문제가 있네요 ..ㅠㅠ
네이비칼라
9년 전
주어진 예제만 가지고 눈으로 풀고 있습니다.
단서를 주기 위함이죠.
여러 가능한 경우를 생각하고 풀고 있지는 않다는 겁니다.
다음 처럼 해 보세요.
$str = preg_replace("/(^|[\"'\s(])([^\"'\s(https?:\/\/)]+)\.\w+/i", " http://\\2</A>", $str);
단서를 주기 위함이죠.
여러 가능한 경우를 생각하고 풀고 있지는 않다는 겁니다.
다음 처럼 해 보세요.
$str = preg_replace("/(^|[\"'\s(])([^\"'\s(https?:\/\/)]+)\.\w+/i", " http://\\2</A>", $str);
답변을 작성하려면 로그인이 필요합니다.