2012-07-14 3 views
1

일부 표현식이 <h2> text </p>입니다.Regex를 사용하여 끝 태그 바꾸기

</p> 태그를 검색하고 정규 표현식을 사용하여 </h2>으로 바꾸려면 어떻게해야합니까?

+1

현재 사용중인 언어/플랫폼과 관련된 세부 정보를 제공하지 않았습니다. 어쨌든 - regex로 HTML을 파싱하는 것은 일반적으로 권장되지 않습니다. 일반적으로 HTML 구문 분석기를 사용하는 것이 좋습니다. – Oded

+0

스택 오버플로에 오신 것을 환영합니다! RegEx를 사용하여 HTML을 구문 분석하지 마십시오 ([http : //stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454]) . 대신 [HTML 구문 분석기] (http://stackoverflow.com/questions/292926/robust-mature-html-parser-for-php)를 사용하십시오. –

+0

@Truth - 이와 같은 변형 된 마크 업 문제는 반드시 HTML 구문 분석기로 해결할 수있는 것은 아닙니다. 파서는 기형에 대해 너무 많은 정보를 잃어 버릴 것입니다. 이 경우에는 정규 표현식이 가장 좋습니다. – Alohci

답변

-1

자바 스크립트 또는 HTML5의 컨텍스트에서 regular expressions 사용법을 알아야합니다.

+0

RegEx를 사용하여 HTML을 구문 분석하지 마십시오 ([http : //stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454]). 대신 [HTML 구문 분석기] (http://stackoverflow.com/questions/292926/robust-mature-html-parser-for-php)를 사용하십시오. –

+0

w3schools는 틀리며 오해의 소지가있는 사이트입니다. 어떤 종류의 언어에 대한 참조로 사용해서는 안됩니다. PHP의 경우 [PHP Manual] (http://php.net)이 있으며, JavaScript의 경우 [Mozilla Developer Network (또는 MDN)] (https://developer.mozilla.org/)가 있습니다. w3school을 사용하지 않아야하는 이유를 이해하려면 http://w3fools.com을 참조하십시오. –

4

사용이 정규식

<([^>]*)>([^<]*)</[^>]*> 

하고 그래서 샘플 입력 텍스트

<$1>$2</$1> 

로 교체

<h2> text </p> 
<h1> some text </invalidtag> 

당신의 결과는 다음과 같습니다

<h2> text </h2> 
<h1> some text </h1> 
+0

RegEx를 사용하여 HTML을 구문 분석하지 마십시오 ([http : //stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454]).). 대신 [HTML 구문 분석기] (http://stackoverflow.com/questions/292926/robust-mature-html-parser-for-php)를 사용하십시오. 귀하의 솔루션은 실제로 매우 영리하므로, 나는 downvote하지 않을 것이지만, 제발,하지 마십시오. –

+0

@ Truth : 질문은 '잘못된 html'에 관한 것 같습니다. 나, 잘 모르겠 html 파서의 작품에 대해 잘 모르겠습니다. – Ria

+0

감사합니다! 완벽하게 작동합니다!] *)> ([^ <]*)] *><([h2]*)> ([^ <]*)] *> h2로 시작하는 표현식을 찾으십시오. – user1525379

관련 문제