【问题标题】:HTML NSString producing different values?HTML NSString 产生不同的值?
【发布时间】:2012-01-30 23:32:34
【问题描述】:

我有工作,这个字符串:

NSString* embedHTML1 = @"\<html><head>\<style type=\"text/css\">\body {\background-color:     transparent;\color: white;\}\</style>\</head><body style=\"margin:0\">\<embed id=\"yt\" src=\"http://www.youtube.com/v/leqL1QENRTI?version=3&amp;hl=en_US1\" type=\"application/x-shockwave-flash\" \width=\"287\" height=\"125\"></embed>\</body></html>";

当放置到 UIWebView 中时,它可以作为嵌入式 youtube 剪辑正常工作。

但是,我有一个 FTP 服务器,当我从服务器下载 完全相同的字符串 并将其放在 NSString 中,如下所示:

NSString* embedHTML1 = [[NSString alloc] initWithFormat:@"%@", [link objectAtIndex:indexPath.row + startIndex]];
NSLog(@"%@", embedHTML1);

[clip1 loadHTMLString:embedHTML1 baseURL:nil];

上面基本上是存储在数组中的字符串。证明那是上面代码中那个 NSLog 的输出。

我得到的只是一个 UIWebview,它是一个以“///”开头并在底部以“/”结尾的白屏

我做错了什么?感谢您的帮助,我现在不知道该怎么办。我的字符串有什么遗漏吗?

【问题讨论】:

    标签: html xcode ftp nsstring youtube


    【解决方案1】:

    从服务器下载字符串时不需要转义字符,删除反斜杠。

    此代码将记录不带反斜杠的 html 字符串:

    NSString *htmlString = NSString* embedHTML1 = @"\<html><head>\<style type=\"text/css\">\body {\background-color:     transparent;\color: white;\}\</style>\</head><body style=\"margin:0\">\<embed id=\"yt\" src=\"http://www.youtube.com/v/leqL1QENRTI?version=3&amp;hl=en_US1\" type=\"application/x-shockwave-flash\" \width=\"287\" height=\"125\"></embed>\</body></html>";
    NSLog(@"%@", htmlString);
    

    【讨论】:

    • 我认为你仍然需要转义嵌入的双引号
    • 不,不,你没有。它们仅在您声明内联字符串时才需要转义,下载的字符串应该是您想要显示的确切格式。当然,除非他们需要以下载的格式转义(例如 JSON)。
    • 敲打额头——当然!我正在查看代码片段,并认为您建议从文字中删除反斜杠。对此感到抱歉。
    • 啊,我明白了,我只是想表明反斜杠实际上并不是 HTML 的一部分,因为我的片段中的 NSLog() 语句将在没有它们的情况下打印它。
    • 他是对的,我带走了逃跑者。必须与字符串存储在服务器上的方式有关,必须以不同的方式解释转义。
    猜你喜欢
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 2022-01-23
    • 2012-08-15
    • 1970-01-01
    • 2019-06-16
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多