我在导入的RSS Feed和包含在列表项中包含的一组SVG的包含HTML文件之间遇到了问题。 (下面带有编辑过的SVG摘录的HTML)一个或另一个显示没有问题。两者都包含在一起,image.html确实显示第一个JPG,但不显示随后的SVG或PNG。我在想与XML存在冲突(?)我希望这是一个明确的解释。
image.html(已编辑的摘录)>>>
<li class="layer" data-depth="0.02">
<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1080 1080">
<g transform="translate(0 .00002)">
<path fill="#bababa" d="m.06">
</g>
</svg>
</li>
PHP(摘录)&gt;&gt;&gt;
<ul id="scene" class="scene">
<li class="layer" data-depth="0.0"><img src="/images/lightStudy_8.jpg"></li>
<?php include('image.html'); ?>
<li class="layer" data-depth="0.4"><img src="/images/nologo.png"></li>
<li class="layer" data-depth="0.6"><img src="/images/nologo_white.png"></li>
</ul>
<div class="wrapper">
<!-- page content -->
<?php
$XMLFILE = "http://something/default?alt=rss";
$TEMPLATE = "http://something/sample-template.html";
$MAXITEMS = "5";
include("rss2html.php");
?>
</div>
答案 0 :(得分:0)
我仍然没有找到导致我认为与XML有关的冲突的问题。 我和SVG一起工作很多,所以我仍然想知道原因,以便将来可以避免出现问题。但是,我只是要使用一种方法。不是这个东西的高手,我找到了一个我可以处理的解析器并用我自己的HTTP取代了,而 N 只是你希望显示的帖子的数量。
此外,{$ item ['DESCRIPTION']}是从数组中提取该值的方法。不知道标准化的提要是怎样的,我只是通过XML提要(通过浏览器)搜索,看看我想要显示的信息使用了哪些标签,并遵循语法。
立即为我工作的来源在下面或在: http://www.stemkoski.com/how-to-easily-parse-a-rss-feed-with-php-4-or-php-5/
<?php
//FUNCTION TO PARSE RSS IN PHP 4 OR PHP 4
function parseRSS($url) {
//PARSE RSS FEED
$feedeed = implode('', file($url));
$parser = xml_parser_create();
xml_parse_into_struct($parser, $feedeed, $valueals, $index);
xml_parser_free($parser);
//CONSTRUCT ARRAY
foreach($valueals as $keyey => $valueal){
if($valueal['type'] != 'cdata') {
$item[$keyey] = $valueal;
}
}
$i = 0;
foreach($item as $key => $value){
if($value['type'] == 'open') {
$i++;
$itemame[$i] = $value['tag'];
} elseif($value['type'] == 'close') {
$feed = $values[$i];
$item = $itemame[$i];
$i--;
if(count($values[$i])>1){
$values[$i][$item][] = $feed;
} else {
$values[$i][$item] = $feed;
}
} else {
$values[$i][$value['tag']] = $value['value'];
}
}
//RETURN ARRAY VALUES
return $values[0];
}
/********************************************************************************************
**********************
SAMPLE USAGE OF FUNCTION
********************************************************************************************
*********************/
//PARSE THE RSS FEED INTO ARRAY
$xml = parseRSS("http://SomeBlog.com/feeds/posts/default?alt=rss");
//SAMPLE USAGE OF
$n=1;
foreach($xml['RSS']['CHANNEL']['ITEM'] as $item) {
if($n<=5) {
echo("<article>");
echo("<h3 class=\"title\"><a href=\"{$item['LINK']}\" target=\"_blank\">
{$item['TITLE']}{$link}</a></h3>");
$pdate = $item['PUBDATE'];
echo("<h4>".$pdate."</h4>");
echo("<div class=\"description\">{$item['DESCRIPTION']}</div>");
echo("</article>");
}
$n++;
}
?>