일반 텍스트 하이퍼텍스트
이 변환 은 정규 표현 식 검색 으로 바 꿀 수 있 습 니 다. 구체 적 인 규칙 은 다음 과 같 습 니 다.
주: 이름 이 붙 은 실체 "& apos;"또한 문자 코드 의 실체 형식" & \ # 39; "로 구형 Internet Explorer 를 호 환 할 수 있 습 니 다.
첨부:
일반 텍스트 하이퍼텍스트 자바 구현
private static Pattern htmlKeychars=Pattern.compile("[<>&\"']");
private static Pattern htmlKeycharsWhitespace=Pattern.compile("\r
| {1,}|[<>&\"'\t
]");
private static String encodeHTML(String s,Pattern p){
Matcher m=p.matcher(s);
StringBuffer sb=new StringBuffer(s.length()+(s.length()>>1));
String re=null;
while(m.find()){
String $0=m.group(0);
switch($0.charAt(0)){
case '<':re="<";break;
case '>':re=">";break;
case '&':re="&";break;
case '"':re=""";break;
case '\'':re="'";break;
case ' ':re=StringUtils.repeat(" ",$0.length());break;
case '
':
case '\r':re="<br/>";break;
case '\t':re=" ";break;
}
m.appendReplacement(sb.append(re), "");
}
return m.appendTail(sb).toString();
}
public static String encodeHTML(String s){
if(s==null||s.length()==0)
return s;
return encodeHTML(s,htmlKeycharsWhitespace);
}
public static String encodeHTMLAttribute(String s){
if(s==null||s.length()==0)
return s;
return encodeHTML(s,htmlKeychars);
}
일반 텍스트 하이퍼텍스트 JavaScript 구현:
(function(global){
function StringRepeat(s,c){
switch(c){
case 0:return "";
case 1:return s;
case 2:return s+s;
default:
var r=repeat(s,c>>>1);
return (c&1)==0?r+r:r+r+s;
}
}
var repeat=String.prototype.repeat||function repeat(count){
if(this==null)
throw new TypeError("String.prototype.repeat called on null or undefined");
if(count<0||count>0xFFFFFFFF)
throw new RangeError("Invalid count value");
return StringRepeat(String(s),c>>>0);
};
var escapeHTML=function(s,r){
if(s.length==0)
return s;
return s.replace(r,function($0){
var re="";
switch($0.charAt(0)){
case '<':re="<";break;
case '>':re=">";break;
case '&':re="&";break;
case '"':re=""";break;
case '\'':re="'";break;
case ' ':re=repeat.call(" ",$0.length);break;
case '
':
case '\r':re="<br/>";break;
case '\t':re=" ";break;
}
return re;
});
};
function encodeHTML(s){
return escapeHTML(String(s),/\r
| {1,}|[<>&"'\t
]/g);
}
function encodeHTMLAttribute(s){
return escapeHTML(String(s),/[<>&"']/g);
}
global.encodeHTML=encodeHTML;
global.encodeHTMLAttribute=encodeHTMLAttribute;
}(this));
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다른 사람의 웹사이트 편집: contenteditable 및 designMode그래도 우리가 그렇게 할 수 있다고 생각하는 것은 멋진 일입니다. 제가 강조하고 싶었던 일종의 관련 API가 실제로 몇 개 있기 때문에 오늘 그것을 가져왔습니다. contenteditable는 "true" 값이 할당...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.