Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的Html转义?_Java - Fatal编程技术网

java中的Html转义?

java中的Html转义?,java,Java,Java中是否有一个标准类具有HTML转义字符串的方法 < ... &lt; > ... &gt; ... 不,没有。你可以用这个 更新:如果您不喜欢第三方库和/或更喜欢家庭成长,则循环字符串的字符,确定开关中的字符,并用转义字符替换。你可以找到一个例子。但是,从长远来看,使用StringEscapeUtils更容易。公共静态字符串编码HTML(字符串s) public static String encodeHTML(String s) { StringBu

Java中是否有一个标准类具有HTML转义字符串的方法

< ... &lt;
> ... &gt;
<。。。
> ... 

不,没有。你可以用这个


更新:如果您不喜欢第三方库和/或更喜欢家庭成长,则循环字符串的字符,确定开关
中的字符,并用转义字符替换。你可以找到一个例子。但是,从长远来看,使用
StringEscapeUtils
更容易。

公共静态字符串编码HTML(字符串s)
public static String encodeHTML(String s)
{
StringBuffer out = new StringBuffer();
for(int i=0; i<s.length(); i++)
{
     char c = s.charAt(i);
            if( c=='<' )
            {
               out.append("&lt;"+(int)c+";");
            }
            else if(c=='>'){
                 out.append("&gt;"+(int)c+";");
            }
            else
            {
                out.append(c);
            }
}
return out.toString();
{ StringBuffer out=新的StringBuffer();
对于(int i=0;i否,但您可以编写一个:

在字符串上迭代:

  • 当char>output
  • 当字符
  • 当字符为&output
    &;
  • 当字符unicode值超出32..126时,输出
    &#…
    ,其中…是字符unicode值
  • else输出字符

  • …这就是为什么您永远不应该使用“自制”转义功能的原因。(它遗漏了几个项目)