2010-05-19 2 views
0

현재 브라우저 기반 Twitter 위젯을 조금 개발 중입니다.URL 서식 지정을위한 정규식 (www.domain.tld를 앵커로)

현재 URL이 제대로 작동하지 않습니다. 나는 정규 표현식에 관해서는 다소 초보자이다. (나는 알고있다. 문자열의 일부분을 얻는 방법을 알고 있지만,이 하나는 힘든 것이다.)

그래서, 나는 HTTP/없음

www.domain.tld -> <a href="http://www.domain.tld">http://www.domain.tld</a> 

를 검색/대체 할 정규식이 필요합니다 : // 것이 바람직하다.

어떤 조언을 환영합니다. 감사.

답변

0

이것은 내가있어 얼마나 멀리입니다 :

www\.(?:\S*)\.(?:\S{2,3}) 

그것은 www를 확인합니다. 처음에는 비 - 공백 문자와 최상위 도메인 (2 또는 3 개의 문자).

+1

.INFO : README 파일에서

? .mobi? .박물관? 아마 그걸 확인해야합니다. –

+0

실제로 대부분 URL에 매개 변수 (? param = value & etc = 1)가 있기 때문에 공백이 아닌 문자를 검사 할 수도 있습니다. 물론, 시작시 안티 XSS 측정을 위해 입력을 위생 처리해야합니다. – Kristaps

0

나는 RegExes와 전쟁을하고 있으며, 나는 그들을 좋아하지 않는다. 그래서,이 대신처럼 할 거라고 않습니다

function get_domain_from_anchor($anchor, $delimiter = '"') { 
    return substr(strstr(strstr($anchor, $delimiter), $delimiter.'>', true), 8); 
} 

echo get_domain_from_anchor('<a href="http://www.domain.net">http://www.domain.net</a>'); 

// OUTPUTS: www.domain.net 

훨씬 나아 : D

+0

미안하지만 반대가 필요합니다. 나는 일반 텍스트 URL을 HTML 앵커로 변환해야한다. – Kristaps

+0

@Kristaps : 귀하의 질문에 약간의 불투명 함이 있습니다.) –

0

나는 이것이 당신이 찾고있는 정확하게 무엇을 믿고 : 추출에 관한 PHP validation/regex for URL

일부 자세한 내용은 URL : Extract URLs from text in PHP

+0

고맙습니다. ((? : http : \/\/| https : \/\ /) (? :(? : [ a-z0-9 \ & \.? = \ -_ \ [\] \ /]))) 작동 할 것 같습니다. 고맙습니다! – Kristaps

0

시도 twitter-text-php 그것은 공식 트위터 코드에서 PHP로 이식됩니다.

$autolinker = new Twitter_Autolink(); 
$html = $autolinker->autolink("Tweet mentioning @mikenz and refuring to his list @mikeNZ/sports and website http://mikenz.geek.nz"); 
echo $html;