2011-10-16 3 views
2

Google Prettify는 stackoverflow에서 <&lt;으로 바꿔야하고 >&gt;으로 바꿔야 만 찾을 때까지 HTML을 제대로 표시하지 못했습니다.Google Prettify를 사용하여 HTML 및 CSS 코드를 표시합니다. < >을 html로 바꿔야합니까?

정말 필요한가요? 이 작업을 수행하는 더 쉬운 방법이 있습니까?

나는 다음과 같은 간단한 코드를 표시하려면 : 나는 <pre> 태그 사이의 코드로 모든 것을 감지 것을 사용할 수 있습니다 뭔가

<h1>Header</h1> 

<p>This is a paragraph tag. Here is a <a href="#">LINK</a></p> 

있습니까? 예를 들어 stackoverflow에 코드를 입력하면 <>을 바꿀 필요가 없습니다.

+0

스택 오버플로가 아마도 HTML 코드 블록을 인코딩하는 마크 다운 파서를 사용

그러나, 여기에 도움이된다면 HTML 문자열을 정상화 로컬 JS 솔루션입니다. – BoltClock

답변

1

입력 된 HTML을 가져오고 PHP 함수 htmlentities()를 사용하여 HTML 태그를 바꾸기 위해 PHP로 양식을 만들거나이 URL을 사용할 수있는 해결책을 찾기 위해 우연히 만났습니다. http://www.boallen.com/htmlentities.html 코드를 입력하면 htmlentities가 적용된 코드가 출력됩니다. http://us3.php.net/manual/en/function.htmlentities.php

+0

감사 Phillip! Bo Allen 변환기는 필자에게 필요한 솔루션입니다. 이 특정 프로젝트에 PHP를 사용하고 있기 때문에 htmlentities()에 대해서도 더 살펴볼 것입니다. 다시 한 번 감사드립니다! –

0

Google은 그런 것을 필요로합니다. PHP와 같은 프리 프로세서 언어를 사용하여 필요한 문자를 바꿀 수 있습니다. 당신이 자바 스크립트에서도 그렇게 할 수 있다고 확신합니다.

-1

편집는 :

확실하지 PHP에 대한 지식은 함수가 여기에 어떻게 작동하는지 읽을 수있는 것입니다하지만 내 이전 코멘트를 제거가 다른 값 싸게 치장 스레드에 대한 응답해야했는데으로 :)

// HTML escape code repurposed from http://www.htmlescape.net/htmlescape_tool.html 
function htmlEscapeString(unescaped_str) 
{ 
    var escaped=""; 

    for(i=0; i<unescaped_str.length; i++) 
    { 
    escaped += escapeBR(escapeTags(escapeCharx(unescaped_str.charAt(i)))); 
    } 

    return escaped; 
} 

function escapeBR(original) 
{ 
    var thechar=original.charCodeAt(0); 

    switch(thechar) { 
    case 10: return ""; 
    case '\r': return ""; 
    } 
    return original; 
} 

function escapeNBSP(original) 
{ 
    var thechar=original.charCodeAt(0); 
    switch(thechar) { 
    case 32: return "&nbsp;"; 
    } 
    return original; 
} 

function escapeTags(original) 
{ 
    var thechar=original.charCodeAt(0); 
    switch(thechar) { 
    case 60:return "&lt;"; //< 
    case 62:return "&gt;"; //> 
    case 34:return "&quot;"; //" 
    } 
    return original; 
} 

function escapeCharx(original) 
{ 
    var c = original.charCodeAt(0); 
    switch(c) { 
    case 38:return "&amp;"; 
    case 198:return "&AElig;"; 
    case 193:return "&Aacute;"; 
    case 194:return "&Acirc;"; 
    case 192:return "&Agrave;"; 
    case 197:return "&Aring;"; 
    case 195:return "&Atilde;"; 
    case 196:return "&Auml;"; 
    case 199:return "&Ccedil;"; 
    case 208:return "&ETH;"; 
    case 201:return "&Eacute;"; 
    case 202:return "&Ecirc;"; 
    case 200:return "&Egrave;"; 
    case 203:return "&Euml;"; 
    case 205:return "&Iacute;"; 
    case 206:return "&Icirc;"; 
    case 204:return "&Igrave;"; 
    case 207:return "&Iuml;"; 
    case 209:return "&Ntilde;"; 
    case 211:return "&Oacute;"; 
    case 212:return "&Ocirc;"; 
    case 210:return "&Ograve;"; 
    case 216:return "&Oslash;"; 
    case 213:return "&Otilde;"; 
    case 214:return "&Ouml;"; 
    case 222:return "&THORN;"; 
    case 218:return "&Uacute;"; 
    case 219:return "&Ucirc;"; 
    case 217:return "&Ugrave;"; 
    case 220:return "&Uuml;"; 
    case 221:return "&Yacute;"; 
    case 225:return "&aacute;"; 
    case 226:return "&acirc;"; 
    case 230:return "&aelig;"; 
    case 224:return "&agrave;"; 
    case 229:return "&aring;"; 
    case 227:return "&atilde;"; 
    case 228:return "&auml;"; 
    case 231:return "&ccedil;"; 
    case 233:return "&eacute;"; 
    case 234:return "&ecirc;"; 
    case 232:return "&egrave;"; 
    case 240:return "&eth;"; 
    case 235:return "&euml;"; 
    case 237:return "&iacute;"; 
    case 238:return "&icirc;"; 
    case 236:return "&igrave;"; 
    case 239:return "&iuml;"; 
    case 241:return "&ntilde;"; 
    case 243:return "&oacute;"; 
    case 244:return "&ocirc;"; 
    case 242:return "&ograve;"; 
    case 248:return "&oslash;"; 
    case 245:return "&otilde;"; 
    case 246:return "&ouml;"; 
    case 223:return "&szlig;"; 
    case 254:return "&thorn;"; 
    case 250:return "&uacute;"; 
    case 251:return "&ucirc;"; 
    case 249:return "&ugrave;"; 
    case 252:return "&uuml;"; 
    case 253:return "&yacute;"; 
    case 255:return "&yuml;"; 
    case 162:return "&cent;"; 
    default: break; 
    } 

    if(c <= 127) 
    return original; 

    var a4=c%16; 
    c = Math.floor(c/16); 
    var a3=c%16; 
    c = Math.floor(c/16); 
    var a2=c%16; 
    c = Math.floor(c/16); 
    var a1=c%16; 
    return "&#x"+hex[a1]+hex[a2]+hex[a3]+hex[a4]+";";  

}