내 문제는 동일한 콘텐츠에 iframe, 이미지 태그 등이 있다는 것입니다. 모두 정규식이있어 올바른 형식으로 변환됩니다.html 태그에없는 URL을 검색 한 다음 하이퍼 링크로 변환하는 방법은 무엇입니까?
마지막으로 남은 것은 일반적인 URL입니다. 나는 iframe, img 또는 다른 태그 안에 링크가 아닌 모든 링크를 찾을 정규식이 필요합니다. 이 경우 사용되는 태그는 BB가 아닌 일반 HTML 태그입니다.
현재이 코드는 콘텐츠 렌더링의 마지막 단계입니다. 하지만 위의 모든 다른 작업 (iframe 및 img 렌더링)에도 반응 할 것입니다. 따라서 URL이 바뀌면 URL도 바뀝니다.
$output = preg_replace(array(
'%\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))%s'
), array(
'test'
), $output);
그리고 내 콘텐츠는 다음과 같이 보입니다 : 당신이 볼 수 있듯이
# dont want these to be touched
<iframe width="640" height="360" src="http://somedomain.com/but-still-its-a-link-to-somewhere/" frameborder="0"></iframe>
<img src="http://someotherdomain.com/here-is-a-img-url.jpg" border="0" />
# and only these converted
http://google.com
http://www.google.com
https://www2.google.com<br />
www.google.com
것은, 또한 링크의 끝에 뭔가가있을 수 있습니다. 일할 regexes를 시도의 하루 종일 후, 그 마지막 <br />
나를 위해 악몽이되었습니다.
정규식이 문제의 해결책이라고 생각하지 않습니다 ... –