我将一些数据从另一个测试/错误跟踪工具导入到tfs中,我想转换它的描述,它是简单的HTML,所以是一个普通的字符串,其中保留了HTML的"布局".
例如:
<body>
<ol>
<li>Log on with user Acme & Co.</li>
<li>Navigate to the details tab</li>
<li>Check the official name</li>
</ol>
<br>
<br>
Expected Result:<br>
official name is filled in<br>
<br>
Actual Result:<br>
The &-sign is not shown correctly<br>
See attachement.
</body>
Run Code Online (Sandbox Code Playgroud)
将插入换行符并将HTML实体翻译成纯文本:
1. Log on with user Acme & Co. 2. Navigate to the details tab 3. Check the official name Expected Result: official name is filled in Actual Result: The &-sign is not shown correctly See attachment
我现在可以使用正则表达式替换一些带有换行符的标签并删除其余部分,但是替换HTML实体和类似的东西 …
我正在制作一个涉及登录服务器的应用程序,但是,后期数据需要一些编码.
Dim strEncUsername As String = Server.HtmlEncode(Me.txtUsername.Text)
Run Code Online (Sandbox Code Playgroud)
但是,由于这不是一个asp.net应用程序,这不起作用.干草我应该怎么做?我试图找一个Imports的东西,但没有真正的运气.
Android有两种不同的方法来转义/编码Strings中的HTML字符/实体:
Html.escapeHtml(String),在API 16(Android 4.1)中添加.文档说:
返回给定纯文本的HTML转义表示形式.
TextUtils.htmlEncode(String) 对于这个,文档说:
Html编码字符串.
阅读文档,他们似乎都做了几乎相同的事情,但是,在测试它们时,我得到一些非常神秘(对我而言)的输出.
例如.随着输入:<p>This is a quote ". This is a euro symbol: €. <b>This is some bold text</b></p>
Html.escapeHtml 得到:
<p>This is a quote ". This is a euro symbol: €. <b>This is some bold text</b></p>
Run Code Online (Sandbox Code Playgroud)而TextUtils.htmlEncode给出:
<p>This is a quote ". This is a euro symbol: €. <b>This is some bold text</b></p>
Run Code Online (Sandbox Code Playgroud)所以似乎第二个转义/编码引号("),但第一个没有,虽然第一个编码欧元符号,但第二个没有.我很困惑.
那么这两种方法有什么区别呢?每个转义/编码的字符是什么?编码和转义之间的区别是什么?我什么时候应该使用其中一种(或者我应该喘气,一起使用它们?)?
android html-encode html-entities android-webview html-escape
我使用Html.Raw打印原始html内容,例如当我ViewBag.div = "<div> Hello </div>";从控制器向视图端发送一些东西时它不会打印原始html内容,除非我使用该Html.Raw方法但是如果我有编码内容,例如使用jquery编码并插入到数据库中的内容我希望将其打印为原始html内容,该Html.Raw方法不起作用,我必须在使用HttpUtility.HtmlDecode(EncodedContent)之前使用,Html.Raw所以请任何人解释为什么它以这种方式起作用以及什么是正确的情况使用Html.Raw方法?或者换句话说,Html.Raw当它接收html实体作为参数而不是html标签时,为什么不起作用?
即使在web.config的spark部分中有以下内容:
<pages automaticEncoding="false">
Run Code Online (Sandbox Code Playgroud)
${...}Still 之间的事情通过H(...),HTML编码它.
如何改变这一点或者我应该回归!{...}?
我有一个erlang字符串,可能包含像"&<等等字符:
1> Unenc = "string & \"stuff\" <".
ok
Run Code Online (Sandbox Code Playgroud)
是否有一个Erlang函数可以解析字符串并编码所有需要的HTML/XML实体,例如:
2> Enc = xmlencode(Unenc).
"string & "stuff" <".
Run Code Online (Sandbox Code Playgroud)
?
我的用例是针对相对较短的字符串,来自用户输入.xmlencode函数的输出字符串将是XML属性的内容:
<company name="Acme & C." currency="€" />
Run Code Online (Sandbox Code Playgroud)
最终的XML将通过网络适当发送.
我正在向具有字符串的视图发送模型.这些字符串是html编码的,我不需要它们.没有html编码的任何方式将模型发送到视图?
模型:
public class Package
{
public string String { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
控制器:
public ActionResult GetPackage()
{
Package oPackage = new Package();
oPackage.String = "using lots of \" and ' in this string";
return View(oPackage);
}
Run Code Online (Sandbox Code Playgroud)
视图:
@model Models.Package
<script type="text/javascript">
(function () {
// Here @Model.String has lots of ' and "
var String = "@Model.String".replace(/'/g, "'").replace(/"/g, "\"");
// Here String looks ok because I run the two replace functions. But it is possible to just get …Run Code Online (Sandbox Code Playgroud) 我设计一个Web API,返回JSON作为内容类型,响应主体可以包含类似的字符',",<和>,他们在JSON有效字符.所以,我的问题是我应该为我的Web API响应主体进行HTML编码,还是应该将此任务留给使用我的Web API的HTML客户端?
当我提交/ POST数据到服务器,我需要的HTMLEncode它的字符(相关的),因为通过设置禁止输入检查validationRequest = false是不是一个好的做法.
所有解决方案最终都在替换字符串中的字符:
这就是我写的.
function htmlEncode(str) {
str = str.replace(/\&/g, "&");
str = str.replace(/\</g, "<");
str = str.replace(/\>/g, ">");
str = str.replace(/ /g, " ");
return str;
}
Run Code Online (Sandbox Code Playgroud)
但是显然正则表达式可以用更快的东西代替(不要误解我 - 我喜欢正则表达式).
此外,使用索引+子字符串似乎很浪费.
这样做的最快方法是什么?
我看起来像Sublime Text中给出的功能,快捷方式(windows)Ctrl+ Shift+ P命名为"HTML:编码特殊字符",但在IntelliJ IDEA中.此功能可以对此进行转换(作为示例):
I'm a special character phrase "áéíóú ñ"
Run Code Online (Sandbox Code Playgroud)
进入:
I'm a special character phrase "áéíóú ñ"
Run Code Online (Sandbox Code Playgroud)
只能通过包围指定的文本并按下上面给出的快捷键组合(再次,在Windows Ctrl+ Shift+中P).
有什么想法吗?
更新(07-04-2016)
到目前为止,Intellij Idea本身支持此功能(2016版).您需要选择要转换的文本和(在OSX中)Cmd + Shift + A并键入"Encode",然后选择"编码XML/HTML特殊字符"操作
唯一需要注意的是,这仅适用于html字符串(据我所知).
html-encode ×10
asp.net-mvc ×2
javascript ×2
razor ×2
.net ×1
android ×1
asp.net ×1
c# ×1
erlang ×1
html ×1
html-escape ×1
ide ×1
jquery ×1
json ×1
string ×1
vb.net ×1
xml ×1
xml-encoding ×1