<과 같은 일부 html 빈 태그를 대체하고 싶습니다. /> (.b, h1, ...은 아니지만 br, hr, ...)Regex - 일부 html 태그 바꾸기
저는 생각합니다. Regex.Replace (myString, "< ..? />", "")하지만 br와 hr을 어떻게 제외시킬 수 있는지 모르겠다.
아무도 도와 줄 수 있습니까?
Thx! 당신은 당신이하고자하는 태그를 알고있는 경우
<과 같은 일부 html 빈 태그를 대체하고 싶습니다. /> (.b, h1, ...은 아니지만 br, hr, ...)Regex - 일부 html 태그 바꾸기
저는 생각합니다. Regex.Replace (myString, "< ..? />", "")하지만 br와 hr을 어떻게 제외시킬 수 있는지 모르겠다.
아무도 도와 줄 수 있습니까?
Thx! 당신은 당신이하고자하는 태그를 알고있는 경우
이 같은 것을보십시오 :
(?:< *)(?!(?:br|hr)) *\w+ *\/ *\>
는 BR 어떤 태그 추가 | 시간의 일부를 (사용하여 구분 '|')이 일치하지 않는.
여기에 대해 궁금한 점이 있으시면 여기를 참조하십시오. http://msdn.microsoft.com/en-us/library/az24scfc.aspx – crlanglois
사례에서 약간 더 단순한 버전 : <(?! br | hr) (\ w) + /> – crlanglois
, 당신은 이런 식으로 그것을 할 수 : 괄호 내
Regex.Replace(myString, "<(b|p|div|span) />", "")
는 모든 옵션이 파이프로 구분됩니다. 이 같은 패턴이 일치하고이를 대체 할
사용 : (TAG1|TAG2|TAG3|...)
당신이 처리하는 모든 태그입니다
<(TAG1|TAG2|TAG3|...)\s*/?>
는 파이프로 구분. HTML 태그는 대/소문자를 구분하지 않으므로 정규 표현식에서 대/소문자를 구분하지 않도록 지정해야합니다. 작동 원리
var exp = new Regex("<(b|h1)\s*/?>", RegexOptions.IgnoreCase);
:
이\s*
은 0 개 이상의 공백 문자를 인식합니다. (HTML 표준이 태그 이름 앞에 공백을 허용하지 않기 때문에 이들 중 하나는 정규식 시작시 필요하지 않습니다.)/?
은 선택적으로 '/'와 일치합니다. (이것은 HTML 사양이 항상 필요하지 않았기 때문에, 빈 태그에 /
를 사용하지 않는 HTML 처리에 대한 유연성이 단지입니다.)당신은과 같이 태그를 제거하는 데 사용할 수 있습니다 :
var strippedText = exp.Replace(input, String.Empty);
[RegEx는 XHTML 자체 포함 태그를 제외한 공개 태그와 일치 할 수 있음] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags) –
이 경우에는 용서받을 수 있다고 생각합니다. – mmdemirbas
@DavidB 특정 문자열 패턴을 인식하고 바꾸는 것은 구문 분석이 아닙니다. –