2009-10-11 5 views
1

DB에 저장된 html 텍스트에서 텍스트를 추출하려고했습니다. 이 텍스트는 HTML 태그를 초과하면 Regex를 사용하여 MySQL 텍스트 추출

<P style="FONT-SIZE: 13px; MARGIN-LEFT: 6px"><FONT color=#073b66><STRONG><A 
href="/generic.asp?page_id=p00497">Practice Exams</A> - </STRONG><FONT 
color=#000000>ours are the most realistic exam simulations, and the best way to 
prepare for your exams. Get detailed correct and incorrect answers and 
explanations. Free Flash Cards are included.</FONT></FONT> </P> 

내가 검색하면

는 "일반"이 정규식 그것을 발견해야합니다

은 예입니다.

도와주세요

답변

2

다음 MySQL의 정규식 문자열은 모든 HTML 태그를 일치합니다, 그래서 당신은 당신이있는 경우에 나는이 직접 귀하의 질문에 대답하지 알고 있지만

"<" +  -- Match the character “<” literally 
"[^>]" + -- Match any character that is NOT a “>” 
    "*" +  -- Between zero and unlimited times, as many times as possible, giving back as needed (greedy) 
">"   -- Match the character “>” literally 

또는

을 그들을 제거 할 수 있습니다 스크립팅 언어에 대한 액세스는 텍스트에서 HTML 태그를 제거하는 기능을 내장하고 있습니다.

예 : PHP에서 당신은

$htmltext = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>'; 
$plaintext = strip_tags($text); 

// or use regex... 
$result = preg_replace('/<[^>]*>/i', '', $text); 

http://php.net/manual/en/function.strip-tags.php

+0

이 MySQL 정규식 문자열을 명령에 사용하는 방법에 대한 예제를 제공해 주시겠습니까 – zeetit

0

나는 당신이 당신의 데이터베이스에 주입하기 전에 프로그래밍하고있는 언어의 적절한 파서를 사용하여 HTML을 구문 분석하는 것이 좋습니다.

당신이 최선을 다하고 어떤 언어에 게시 할 경우, 아마도 내가, 또는 다른 사람은 추천을 할 수 있습니다.

0

나는 html로 컬럼의 텍스트 전용 복사본 DB 및 전체 텍스트 쿼리에 해당 열을 사용하는 다른 열을 추가하는 게 좋을 것 ...이 작업을 수행 할 수 있습니다. 정규 표현식은이를위한 잘못된 도구입니다. 검색하는 동안 HTML을 무시하는 내장 옵션이 텍스트 많은 양의 당신은 또한 스핑크스를 고려해 볼 수 있습니다 http://www.sphinxsearch.com를 들어

.

관련 문제