原始代码:<a onclick='send("'>11");' href='www.baidu.com'>超链接</a>
我试了下面的转义方法,不起作用:<a onclick='send(encodeURI("'>11"));' href='www.baidu.com'>超链接</a>
错误的结果是:11");' href='www.baidu.com'>超链接
期望的结果是:超链接
请问下如何转义?(send函数里面的参数是变量,不是写死的)
我试了下面的转义方法,不起作用:<a onclick='send(encodeURI("'>11"));' href='www.baidu.com'>超链接</a>
错误的结果是:11");' href='www.baidu.com'>超链接
期望的结果是:超链接
请问下如何转义?(send函数里面的参数是变量,不是写死的)
您说的“先把 变量 转为实体”是什么意思啊?能解释下吗?谢谢!
或
<a onclick="send(this.alt);" alt="${fromHoutai}" href='www.baidu.com'>超链接</a>
public static String escape(String s){
if(s==null)
return null;
StringBuffer sb=new StringBuffer();
for(int i=0;i<s.length();i++){
char ch=s.charAt(i);
switch(ch){
case '"':
sb.append("\\\"");
break;
case '\\':
sb.append("\\\\");
break;
case '\b':
sb.append("\\b");
break;
case '\f':
sb.append("\\f");
break;
case '\n':
sb.append("\\n");
break;
case '\r':
sb.append("\\r");
break;
case '\t':
sb.append("\\t");
break;
case '/':
sb.append("\\/");
break;
default:
if(ch>='\u0000' && ch<='\u001F'){
String ss=Integer.toHexString(ch);
sb.append("\\u");
for(int k=0;k<4-ss.length();k++){
sb.append('0');
}
sb.append(ss.toUpperCase());
}
else{
sb.append(ch);
}
}
}//for
return sb.toString();
}
<a onclick='send("\'>11");' href='www.baidu.com'>超链接</a>