html特殊字元過濾
1. dede如何過濾表單提交特殊字元(防注入)
我知道的是織夢有個HtmlReplace函數可以過濾輸入內容的html標簽。
2. jQuery 過濾html標簽屬性的特殊字元
您好,如果在表單中需要提交一字元串,其中包含,< > " &字元時,當我們把這字元串顯示到jsp頁面時,會和html標簽產生沖突,導致web頁面的某些部分消失或者格式不正確。為了解決以上問題,需要在顯示之前,對字元串進行代碼過濾。
把字元串中的 < 替換為 &It;
> 替換為 >
" 替換為 "
& 替換為 &
這里給出一個靜態的過濾代碼,供大家參考:
public class StringUtils {
/**
* This method takes a string which may contain HTML tags (ie, <b>,
* <table>, etc) and converts the '<'' and '>' characters to their HTML escape sequences.
* @param input the text to be converted.
* @return the input string with the characters '<' and '>' replaced with their HTML escape sequences.
*/
public static final String escapeHTMLTags(String input) {
//Check if the string is null or zero length -- if so, return
//what was sent in.
if (input == null || input.length() == 0) {
return input;
}
//Use a StringBuffer in lieu of String concatenation -- it is
//much more efficient this way.
StringBuffer buf = new StringBuffer(input.length());
char ch = ' ';
for (int i = 0; i < input.length(); i++) {
ch = input.charAt(i);
if (ch == '<') {
buf.append("<");
}
else if (ch == '>') {
buf.append(">");
}else if(ch == '"'){
buf.append(""");
}else if(ch == '&'){
buf.append("&");
}
else {
buf.append(ch);
}
}
return buf.toString();
}
}
此時,只需在jsp中對字元串調用此方法(StringUtils.escapeHTMLTags(str))即可。
3. html為什麼用特殊字元
很多「」是用來代表字元串變數的,並不是需要輸出的值,如果都用「」很可能把需要輸出和字元串的邊界搞的混亂~
4. php正則,去掉除html標簽外的所有空格/換行符等特殊字元注:html標簽內可能會有屬性
把<pclass="title">也寫到正則表達式中,
5. javascript特殊字元顯示不出什麼效果例如document.write("\r")只出現空格不出現回車符。
.當然不會換行了 html里 <br>是換行 /r 不起作用
對於html來說 html標簽就是html的特殊字元 你比如說 <a> 要輸出這個回 就必須答使用轉意字元
其他語言里使用的特殊字元在html里是起作用的
6. 請問,怎麼樣用ASP過濾掉中文特殊字元
判斷ascii值吧
7. <a >$</a> html怎麼過濾特殊字元
如果你是前端的話, 可以使用js的正則過濾. 不過我建議處理數據這塊讓後端來做.
8. html頁面文本特殊字元串是什麼,如何轉換成漢字
兩個辦法:
如果來源名稱是有限的幾個。那麼就在編輯頁面里,手動將competition更改了專。
比如:屬if( $laiyuan == 'competition' ){$laiyuan = '競爭';}
if( $laiyuan == '' ){$laiyuan = '網路';}
。。。。
這樣頁面上自然就顯示中文了。但是前提是,這個來源的個數是有限的。
如果來源是不固定的X個,那麼就用拼音轉漢字,英文轉漢字等庫來轉換一下。
9. 怎麼用js顯示HTML特殊字元
1、可以使用textarea進行顯示;
2、首先進行html編碼後再顯示:
使用下面的函數html_encode對html字元串進行編碼然後顯示:
functionhtml_encode(str)
{
vars="";
if(str.length==0)return"";
s=str.replace(/&/g,">");
s=s.replace(/</g,"<");
s=s.replace(/>/g,">");
s=s.replace(//g," ");
s=s.replace(/'/g,"'");
s=s.replace(/"/g,""");
s=s.replace(/ /g,"<br>");
returns;
}
functionhtml_decode(str)
{
vars="";
if(str.length==0)return"";
s=str.replace(/>/g,"&");
s=s.replace(/</g,"<");
s=s.replace(/>/g,">");
s=s.replace(/ /g,"");
s=s.replace(/'/g,"'");
s=s.replace(/"/g,""");
s=s.replace(/<br>/g," ");
returns;
}
10. 如何讓在Html中特殊字元不被轉義
Html中特殊字元不被轉義,可以使用預格式化標簽。
pre 是 Preformatted text(預格式化文本) 的縮寫。使用此標簽可以把代碼中的空格和換行直接顯示到頁面上。
例如HTML代碼:
<pre>
if(xx>5){
print"比5大! ";
}
</pre>
瀏覽器顯示效果:
if (xx > 5) {
print "比5大!
";
}
<textarea></textarea>之間包含有類似的這種轉義字元的時候總會被解析,倒是可以把所有的"&"通過程序替換成"&",但是有些本來就是"&"的也會被轉換,這就錯了。如何讓<textarea></textarea>之間包含的文本原封不動的顯示出來呢?
總結如下:
解決方法有兩種:
第1種:
<body>
<textareaid='t'rows=20cols=20></textarea>
<script>
document.getElementById('t').innerText='a<&>';
</script>
</body>
第2種:
/*將字串轉為html格式*/
publicStringstrToHtml(Strings)
{
if(s==null||s.equals(""))return"";
s=s.replaceAll("&","&");
s=s.replaceAll("<","<");
s=s.replaceAll(">",">");
s=s.replaceAll("","");
//s=s.replaceAll("/n","<br/>");
//s=s.replaceAll("'","'");
returns;
}
/*將html格式轉為字串*/
publicStringstrToHtml(Strings)
{
if(s==null||s.equals(""))return"";
s=s.replaceAll("&","&");
s=s.replaceAll("<","<");
s=s.replaceAll(">",">");
s=s.replaceAll("","");
//s=s.replaceAll("<br/>","/n");
//s=s.replaceAll("'","'");
returns;
}
最後一點:jQuery的.html()方法默認會轉義的,這種情況使用.text()就不會轉義了。