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:解码字符串的主要内容,如果未能解决你的问题,请参考以下文章

JavaScrip命名规则

JavaScript_5

JavaScrip笔记心得(持续更新)

JavaScrip笔记心得(持续更新)

JavaScrip笔记心得(持续更新)

JavaScrip book