首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP DOM -加载YouTube嵌入代码时出现问题

PHP DOM -加载YouTube嵌入代码时出现问题
EN

Stack Overflow用户
提问于 2010-08-18 17:18:02
回答 1查看 755关注 0票数 1

我正在尝试做以下几件事:

代码语言:javascript
复制
$string = "<object width=\"425\" height=\"350\">
               <param name=\"movie\" value=\"http://www.youtube.com/v/1OtdDqF5rnI&autoplay=0\"></param>
               <param name=\"wmode\" value=\"transparent\"></param>
               <embed src=\"http://www.youtube.com/v/1OtdDqF5rnI&autoplay=0\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"425\" height=\"350\"></embed>
           </object>";

$doc = new DOMDocument();
$doc->loadXML($string);

当我加载字符串时,我得到以下错误:

代码语言:javascript
复制
[phpBB Debug] PHP Notice: in file /mnt/FS-2/Critical/Media/Private/Website/Online/blitz1up.com/application/controllers/articles.php on line 303: DOMDocument::loadXML() [domdocument.loadxml]: EntityRef: expecting ';' in Entity, line: 2
[phpBB Debug] PHP Notice: in file /mnt/FS-2/Critical/Media/Private/Website/Online/blitz1up.com/application/controllers/articles.php on line 303: DOMDocument::loadXML() [domdocument.loadxml]: EntityRef: expecting ';' in Entity, line: 4

我已经将原因缩小到YouTube URL,但不确定解决此错误的最佳方法。因此,任何建议都是非常受欢迎的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-18 17:29:41

URL包含&符号,当不用于声明实体时,应将其编码为&amp;。解析器假设&autoload将开始一个新的实体,但它永远不会以分号结束。

要使用超文本标记语言,请考虑使用loadHTML();加载片段,并禁用该部分的错误:

代码语言:javascript
复制
libxml_use_internal_errors(TRUE);
$doc = new DOMDocument();
$doc->loadHTML($string);
libxml_clear_errors();
echo $doc->saveHTML();

上面的方法也适用于loadXML

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3510574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档