채택완료

정규식 질문 드립니다..

아래 소스를 실행하면, '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

이 부분 해결하기 위해서는 어떻게 하면 좋을지 자문 부탁드립니다.

 

Copy
$str = "test Comment 테스트 댓글 www.daum.net daum.net http://www.daum.net http://daum.net http://www.naver.com http://naver.com www.naver.com naver.com";$str = preg_replace("/(^|[\"'\s(])([^\"'\s(https?:\/\/)]+)/i", " http://\\2</A>", $str); echo $str;
 
|

답변 1개

채택된 답변
+20 포인트

이렇게 나오면 되는건가요?

Copy
$str = "test Comment 테스트 댓글 www.daum.net daum.net http://www.daum.net http://daum.net http://www.naver.com http://naver.com www.naver.com naver.com";$text= preg_replace('@((https?://)?([-\w]+\.[-\w\.]+)+\w(:\d+)?(/([-\w/_\.]*(\?\S+)?)?)*)@', '<a href="$1" target="blank">$1</a>', $str); echo $text;/*RESULTtest Comment 테스트 댓글 <a href="www.daum.net" target="blank">www.daum.net</a> <a href="daum.net" target="blank">daum.net</a> <a href="http://www.daum.net" target="blank">http://www.daum.net</a> <a href="http://daum.net" target="blank">http://daum.net</a> <a href="http://www.naver.com" target="blank">http://www.naver.com</a> <a href="http://naver.com" target="blank">http://naver.com</a> <a href="www.naver.com" target="blank">www.naver.com</a> <a href="naver.com" target="blank">naver.com</a>  */

 

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