Googleのフィードローディングサービスが無効になっていたため、異なるプロトコルやドメイン間でxmlフィードを表示する新しい方法を見つけるのに苦労しました。私はブログをウェブサイトにフィードする必要があります。ウェブサイトはhttpsで、ブログはそうではありません。私はここでいくつかの成功、
を持っているだけでタイトルを取得します。私は、リンクにタイトルをラップし、それをliに挿入する必要があります。私は今、すべてのXMLが返さ取得することができます
クロスドメインxmlを取得してjQueryを解析するPHPプロキシ
<?php
function download_page($path){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$path);
curl_setopt($ch, CURLOPT_FAILONERROR,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
$retValue = curl_exec($ch);
curl_close($ch);
return $retValue;
}
$sXML = download_page('https://www.external.com/feeds/feed.xml');
$oXML = new SimpleXMLElement($sXML);
$items = $oXML->entry;
$i = 0;
foreach($items as $item) {
$title = $item->title;
$link = $item->link;
echo '<li>';
foreach($link as $links) {
$loc = $links['href'];
echo "<a href=\"$loc\">";
}
echo $title;
echo "</a>";;
echo "</li>";
if(++$i == 3) break;
}
?>
EDIT、:
は、ここにパスが私のプロキシ(/SSI/Processor/feedProxy.php)で働いて、DOM
にそれを取得する必要があることを手に入れましたPHPでフォーマットされています。私はそれをDOM w/jQueryに挿入することはできません! と私のjQueryの
$(function(){
$.ajax({
type: "GET",
url:'/SSI/Processor/feedProxy.php',
dataType: "html",
success: function(html) {
console.log(html);
//console log is showing the formatted HTML
$('#feeds').html(html);
});
});
私はPHPでそれを解析する方法に苦しんでいます。次のように出力する必要があります。<li><a href="linkfromxml">link text</a></li>
divに追加する必要があります。どんな助けでも大歓迎です。あなたの時間をありがとう!
申し訳ありませんが、私はそれを読み違えによる一貫性のないフォーマット – charlietfl
に
dataType:'html'
にdataType
xml
に変更にそれを設定しています本当にhtmlを送信 – charlietfl私は書式設定をお詫び申し上げます。 htmlの –