정규식 질문 드립니다..
본문
아래 소스를 실행하면, '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
이 부분 해결하기 위해서는 어떻게 하면 좋을지 자문 부탁드립니다.
$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
이렇게 나오면 되는건가요?
$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;
/*
RESULT
test 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>
*/
!-->
답변을 작성하시기 전에 로그인 해주세요.