2013-05-23 2 views
0

여기 누군가가 텍스트 블록 안의 URL을 "필터링"하는 방법을 찾는 데 도움이되는지 알고 싶습니다. 예를 들어 주석. 내 웹 사이트에서 그러한 의견을 제출하는 것을 "차단"할 수 있기를 바랍니다.Django - 텍스트의 필터 URL

예를 들어 누군가 blablabla http://bla.com을 입력하면 응용 프로그램에서 사용자가 항목을 제출하지 못하도록합니다. 나는 www., .com, http 등등과 같은 것을 찾기 위해 본문을 들여다 보면서 아주 "집에서"만드는 스크립트를 만들 수있었습니다. 그러나 그것은 매우 견고하지 않습니다.

감사합니다.

+0

아이디어를 사용할 수 있습니다

simple_url_re = re.compile(r'^(https?)?://\[?\w', re.IGNORECASE) simple_url_2_re = re.compile(r'^www\.|^(?!http)\w[^@]+\.(com|edu|gov|int|mil|net|org)$', re.IGNORECASE) if simple_url_re.match(text) or simple_url_2_re.match(text): raise ValidationError 

을 측면, 정규식을 사용하여. 정말 쉽습니다. 뭔가를 시도해보고 문제가 발생하면 알려주십시오. –

+0

Beautiful Soup을 사용하면 HTML을 구문 분석하기가 매우 쉽습니다. http://www.crummy.com/software/BeautifulSoup/ – Brandon

답변

1
당신은 같은 것을 할 수

:. 당신이 장고의 urlize 당신은 클라이언트 측 또는 서버에 데이터를 검증 할 수

구현은 당신이 그것을 사용하려는 상황에 따라
+0

안녕하세요, 스크립트가 'http'와 'www'로 잘 작동하는 것 같습니다. 그러나 작동하지 않습니다. 예를 들어, 'stackoverflow.com'으로 시도하면됩니다. 감사합니다 – Estarius

+0

귀하의 요구에 맞게 정규식을 수정하십시오 – karthikr

+0

사실 그것은 작동하는 것, 감사합니다. – Estarius