iPhone 上的 Objective-C 中的 HTML 实体编码(将 '<' 转换为 '<')
我正在为 iPhone 开发一个具有应用程序内邮件发送功能的应用程序。到目前为止一切顺利,但现在我想避免 html 注入,因为邮件的某些部分是用户生成的文本。
基本上我搜索类似这样的内容:
// inits
NSString *sourceString = [NSString stringWithString:@"Hello world! Grüße dich Welt <-- This is in German."];
// ----- THAT'S WHAT I'M LOOKING FOR
// pseudo-code |
// V
NSString *htmlEncodedString = [sourceString htmlEncode];
// log
NSLog(@"source string: %@", sourceString);
NSLog(@"encoded string: %@", htmlEncodedString);
预期输出
源字符串:Hello world! Grüße dich Welt <-- 这是德语。
编码字符串:Hello world! Grüße dich Welt <-- 这是德语。
我已经用谷歌搜索并浏览了一些SO的问题和答案,但所有这些似乎都与URL编码有关,而这不是我真正需要的(我尝试了stringByAddingPercentEscapesUsingEncoding
不幸的是 - 它从应该是 ü 的 'ü' 中创建了 %C3%BC 。
代码示例真的很棒(纠正我的?)...
--
预先感谢,
马库斯
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
查看我的 HTML 的 NSString 类别。以下是可用的方法:
Check out my NSString category for HTML. Here are the methods available:
谢谢@all。我最终使用了自己的实现:
Thanks @all. I ended up using my own implementation:
对 @Markus 代码的一点改进 [Change
>到
,转义多个空格]
A little improvement on @Markus' code [Change <br /> to <p></p>, escape multiple spaces]
我一直在寻找类似的解决方案,这对我来说很有效
//Substring 现在是 html 实体编码
我正在使用保存 plist 文件时使用的一些功能。我希望这有帮助。
I have been looking for a similar solution and this did the job for me
//Substring is now html entity encoded
I am using some of the features that is used when saving plist files. I hope this helps.
我正在扩展@Markus 答案,因为我的情况是我正在发送 JSON 字符串,所以我需要添加一些转义,这些是我的功能:
注意:
来自 w3schools 的异常参考。 https://www.w3schools.com/tags/ref_urlencode.asp
I'm expanding @Markus answer, because my case is i'm sending JSON string, so i need to added some escape, these are my function :
note :
the exception reference from w3schools. https://www.w3schools.com/tags/ref_urlencode.asp
假设电子邮件的字符编码支持 Unicode(例如 UTF-8),您是否可以仅查找并替换出现的
<
、>
和& ;
与<
、>
和&
?Assuming the character encoding of the email supports Unicode - say UTF-8 - could you not just find and replace the occurrences of
<
,>
, and&
with<
,>
, and&
?