확인. 그래서 html에 bbcoded 문자열을 구문 분석 할 함수를 작성 중입니다. BBCode의 링크의 구조는 매우 같다 :PHP BBCode 및 링크
[url=http://somelink.com/]Link[/url]
그리고 나는 그것을 만들고 싶어 :
<a href="http://somelink.com/">Link</a>
을 그러나 나는 또한 링크가 유효한 경우 XSS로부터 자신을 보호하기 위해, 확인하고 싶습니다. 나는 유효한 링크를 확인하기 위해이 정규식을 발견, 나는 그것이 HTML로 구문 분석 한 후 URL이 유효이고 있는지 확인하기 위해 $ str을하고 foreach는 일치으로, preg_match_all하려고
/(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
그리고 지금, 그러나 그것은 보인다 I 그것을 할 수 없다. 어떤 제안?
당신이 그것을 어떻게하려고 않았다 BBCode는을 구문 분석 PECL extension를 사용할 수 있습니까? 어떤 출력/오류가 있습니까? –
웹에서 사용할 수있는 자격 종목 중 하나를 선택하면이 모든 사항이 적용됩니다. Github에는 몇 가지 목록이 있습니다. http://github.github.com/github-flavored-markdown/ –
여기에 소보 란 코드 조각이 있습니다 : $ links = array(); if (preg_match ('/ \ [url = (. *) \] (. *) \ [\/url \] /', $ str, $ links)) { echo '
'; } 내가 원하는 것과 일치하지 않습니다. – nvlbg