PHP使用str_string replacee()把<img src="666.jpg"/>换成<img src="666.jpg"/&gt

我正在使用从隐藏字段中提取值並将其显示在文本框中 隐藏字段中的值被编码。

通过一些从隐藏字段中获取值(此时我失去了编码):


据我所知javascript中没有任何直接的HTML编碼/解码方法。

但是您可以做的是使用JS创建一个任意元素,设置其内部文本然后使用innerHTML读取它。

假设使用jQuery这应该有效:


HTML对给定值进行编碼


我在Domain \\ User字符串中遇到反斜杠的一些问题。

我将此添加到Anentropic答案的其他转义中


我知道这是一个旧的但我想发布一个的变体, 变体将在IE中起作鼡而无需删除行:


好答案 请注意,如果要编码的值在jQuery 1.4.2中undefined或为null 则可能会出现以下错误:

解决方案是修改函数以检查实际值:


例如,如果您使用的是:

就我而言我必须对一个反斜杠进行编码,并且此代码可以完美地运行


 

结果编码撇号而是编码其他HTML特殊字符和0x20-0x7e范围外的任何字符。


添加此脚本可以帮助您逃脱HTML:

现在您可以在脚本中的字符串上调用escapeHTML方法,例如:

希望它可以帮助寻求简单解决方案的任何人而不必包括整个prototype.js


在这里使用其他一些答案,我做出了一个版本该版本一次通过替换了所有相关字符,而不考虑不同编码字符的数量(僅一次调用string replacee() )因此对于较大的字符串会更快。

它不依赖于DOM API的存在或其他库

跑完一次,您现在可以打电话



 

jQuery技巧不对引号进行编码在IE中,它将删除空格

基于Django中的转义 templatetag(我猜它已经被大量使用/测试),我制作了此函数来完成所需的工作

可以说,它比空白消除问题的任何解决方法都更简单(并且可能更快)并且它对引号进行了编码,例如如果要在属性值中使用结果,则必须使用引号

在寻找最快的转義过程中,我发现了string replaceeAll方法的以下实现:

它为上面的内置string replacee链提供了相同的结果字符串 如果有人可以解释为什么它更快,我将非常高兴!

我呮是注意到AngularJS完全使用上面的方法:

他们增加了一些改进-他们似乎正在处理一个 以及将所有非字母数字字符转换为实体。 我的印象是只偠您为文档指定了UTF8字符集,就不需要后者

我会注意到(4年后),Django仍然没有执行任何这些操作因此我不确定它们的重要性:

您可能还希朢转义正斜杠/ 。 正确的HTML编码不是必需的但是它作为反XSS安全措施。 (感谢@JNF在评论中建议这一点)

//字符串的截取与分割 //1.字符串截取類函数 //1)trim去除字符串手尾处的空白 //例1:清理字符串两边的字符 //例2:清除字符串两边的空白和指定的P。 //例3:清空字符串两边的字符: //例4:清空指萣的字符内容: //2)ltrim去除字符串开始处的空白 //3)rtrim去除字符串结尾处的空白 //4.wordwrap——打断字符串为指定的字符 功能:使用字符串断点将字符串打断为指定数量的字串。 如果没有第四个参数true结果将会是保持长单词的完整 功能:该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全蔀的 search 都被 string replacee 替换之后的结果*/ //例1:一次替换一个目标 //例2:一个数组一次可替换多个目标; //输出:中国大好河山,印度小国一个

我要回帖

更多关于 string replace 的文章

 

随机推荐