如何让在Html中特殊字符不被转义

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让在Html中特殊字符不被转义相关的知识,希望对你有一定的参考价值。

参考技术A

  html中特殊字符不被转义,可以使用预格式化标签。
  pre 是 Preformatted text(预格式化文本) 的缩写。使用此标签可以把代码中的空格和换行直接显示到页面上。
  例如HTML代码:
 

 <pre>
  if (xx &gt; 5) 
  print "比5大!\\n";
  
  </pre>


  浏览器显示效果:
  if (xx > 5)
  print "比5大!\\n";
  
  <textarea></textarea>之间包含有类似的这种转义字符的时候总会被解析,倒是可以把所有的"&"通过程序替换成"&amp;",但是有些本来就是"&"的也会被转换,这就错了。如何让<textarea></textarea>之间包含的文本原封不动的显示出来呢?
  总结如下:
  解决方法有两种:
  第1种:
  

<body>
  <textarea   id='t'   rows=20   cols=20></textarea>
  <script>
  document.getElementById('t').innerText='a<&>';
  </script>
  </body>


  第2种:
  /*将字串转为html格式*/
 

 public   String   strToHtml(String   s)
  
  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("'",   "'");
  return   s;
  
  /*将html格式转为字串*/
  public   String   strToHtml(String   s)
  
  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("'","'");
  return   s;
  


  最后一点:jQuery的.html()方法默认会转义的,这种情况使用.text()就不会转义了。

C# 如何去掉string中所有转义字符(特殊符号)?

例如,"\b\0\0XXXX-AP\0\0\0\0\0\0"。取其中转义字符以外的部分(即XXXX-AP部分),该怎么取?转义字符的位置不能确定,种类也不固定。

PS:以上string是从byte[]转换来的。也可以在byte[]那一步下手。
byte[] ssid = (byte[])mo["Ndis80211SsId"];
string ssidString = Encoding.ASCII.GetString(ssid);

1、去掉字符串中的转义等特殊字符:

stringinputString=@”helloworld]\\“;

StringBuildersb=newStringBuilder();

string[]parts=inputString.Split(newchar[]’‘,‘\\n’,‘\\t’,‘\\r’,‘\\f’,‘\\v’,’\\’,StringSplitOptions.RemoveEmptyEntries);

intsize=parts.Length;

for(inti=0;i<size;i++);

sb.AppendFormat(“0“,parts[i]);

2、删除字符串头尾的转义等特殊字符串:

使用SubString和Remove来操作

比如去掉结尾的转义字符,可以使用

inputString.SubString(0,inputString.Length-1);

inputString.SubString(0,inputString.Length-2);

inputString.SubString(0,inputString.Length-3);

扩展资料

C#字符串取消转义字符的转义作用,使其正常显示

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

namespacetest1

publicpartialclassForm2:Form

publicForm2()

InitializeComponent();

privatevoidbutton1_Click(objectsender,EventArgse)

stringstr=@"D:\\document\\test.txt";

stringstr1="D:\\\\document\\\\test.txt";

MessageBox.Show(str+"---"+str1);

参考技术A using System.Linq;

string st = "\b\0\0XXXX-AP\0\0\0\0\0\0";
string s = new string((from c in st.ToCharArray() where char.IsControl(c) select c).ToArray());本回答被提问者和网友采纳
参考技术B string st = "\b\\\0\0XXXX-AP\0\0\0\0\0\0";
st = st.Trim(new char[] '\'', '\"', '\\', '\0', '\a', '\b', '\f', '\n', '\r', '\t', '\v' );
参考技术C -----------
-----------
这个我估计必须得把所有的转义字符先存起来,
然后再一个个来比较

以上是关于如何让在Html中特殊字符不被转义的主要内容,如果未能解决你的问题,请参考以下文章

js,如何防止特殊字符被转义

C# 如何去掉string中所有转义字符(特殊符号)?

如何转义xml中的特殊字符

html特殊字符必须转义怎么办

java如何将特殊字符转义

SpringBoot Yaml 配置 特殊字符转义