2011-03-12 5 views
1

기본적으로 "<"및 < 코드 > 블록 내에서 ">"태그를 검색하고 HTML 대신 텍스트로 설정해야 모든 태그를 표시 할 수 있습니다. 페이지의 HTML. 모든 태그가 페이지에 같은 실제 HTML을 통해 오는 순간자바 스크립트 이스케이프 HTML 내에서 코드

내가 문자열 jQuery를 사용하여 교체 할 : 외부

내가 HTML을 변경하지 못할
var text = $("#edit").val(); 
filter = text.replace(/</gi,"&lt;").replace(/>/gi,"&gt;"); 
$("#output").html(filter); 

() (텍스트로) 때문에 모든 HTML, 블록 괜찮아요. 나는 기본적으로이 텍스트 상자/코드 태그 아이디어가 stackoverflow에서 어떻게 작동하는지에 대해 매우 비슷한 것을 찾고있다.

JavaScript/jQuery를 사용하여 쉽게이 방법이 있습니까?

감사

+1

나는 조금 혼란 스러워요. 'text'에있는'<' and '>'의 모든 항목을 해당 HTML 엔티티로 대체합니다. 그래서 여러분은 어쨌든'text' 리터럴에 * 모든 태그를 만듭니다. 왜'$ ("# output")을 쓰지 않을까요? text (text)'? 렌더링 될'text '에 남아있는 HTML 태그가 없습니다. 내가 말하고자하는 것은 당신이'text()'를 사용하지 않은 이유가 의미가 없다는 것입니다. 또는 나는 무엇인가 놓치고 있냐? –

+0

HTML을 구문 분석하기 위해 정규 표현식을 사용할 것을 제안하지 않으려 고합니다.이 (유명한!) 게시물 http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags JS – dianovich

답변

1

나는 HTML을 구문 분석하고 code 블록을 표시 할 텍스트() 메소드를 사용하는 것이 좋습니다 것입니다. 어떻게 분명히

var text = $($('#edit').val()); //create HTML object and parse as you would DOM 
var code = text.find('code').html(); 
$('#output').text(code); 

같은 대해 이전과 HTML 같은 output 사업부에 코드 블록 후 모든 것을 배치해야합니다.

희망이 도움이됩니다.

-1

난 당신이 더 나은 형식을 제거하는 코드를 태그 사이에 코드를 추출하고 사전에 태그를 표시 할 PHP 정규식을 사용하여 생각 :

<?php 
$var="blahblah<code>...</code>booboo"; 
$var=ereg_replace("<code>(.*?)</code>", "", $var); 
print "<pre>$var</pre>"; 
?> 
+1

이 질문은 PHP와 관련이 없습니다. –

관련 문제