Javascript:解码字符串
Posted
技术标签:
【中文标题】Javascript:解码字符串【英文标题】:Javascript: decoding a string 【发布时间】:2011-08-18 14:50:55 【问题描述】:有谁知道是否有内置的 javascript 函数可以将 &
转换为 &
所以它会将字符串something1 & something2
变成something1 & something2
当然我可以使用 MyString.replace(/\&/g, "&");但我宁愿不要。
我没有高兴地尝试使用以下内容: 解码URI组件 逃跑
谢谢
【问题讨论】:
你还没有告诉我们这个字符串从哪里开始(由用户输入?从数据库中读取?硬编码到 JS 文件中?硬编码到 ASPX 文件中?等等?),它发生了什么,或者你从哪里读回来,所以这个问题几乎无法回答。我们可以肯定地说,在某些时候,字符串被表示为 (X)html。 另外,虽然你说你想要它的原始格式,但你没有说为什么。您是否只想要字符串的文本表示(而不是 HTML 表示)?你真的想知道它在编码之前到底是什么吗?还有什么? (我们可以合理猜测到 HTML 的转换不是由 JavaScript 完成的) 【参考方案1】:您可能想查看phpJS project,它已经生成了大多数 PHP 内置函数的 Javascript 实现。
这包括htmlentities()
和html_entity_decode()
的JS 实现。
如果你发现 phpJS 代码写得不好(确实如此),你可能想试试这个:http://css-tricks.com/snippets/javascript/htmlentities-for-javascript/
这仅提供了一个函数来使用实体对字符串进行编码(您正在寻找解码,这就是我最初将您链接到 phpJS 函数的原因),但是从这个示例中解码函数应该很容易解决。
【讨论】:
+1 是一个有用的库,对我的几个 PHP 项目有帮助。【参考方案2】:你不能在 JavaScript 或 C# 中执行以下操作吗?
newstring = yourstring.Replace("&", "&");
【讨论】:
是的,我可以做到。但我想使用内置函数进行解码,因为可能需要进行其他解码。不想为 & 符号硬编码 这是我写的关于使用正则表达式扫描和删除 HTML 标签等的答案。您也许可以做类似的事情,但搜索任何匹配“&.+;”的正则表达式字符串(其中“.”是任意字符,“+”表示检查一个或多个“.”)。 link【参考方案3】:了解您在哪里遇到此问题会很有帮助。这更有可能发生在服务器端,在这种情况下,您可以使用 System.Web.HttpUtility.HtmlDecode
对其进行解码
【讨论】:
谢谢,但我正在寻找一种使用 JavaScript 的方法以上是关于Javascript:解码字符串的主要内容,如果未能解决你的问题,请参考以下文章