[原文] 住宅探しを容易にするため、sohu focus の RSS を全文に変更しました。
この投稿は、2012-07-03 07:50:15 に PhpNewnew によって最終的に編集されました
もうすぐ住宅価格が上がるようです。私は最近毎日残業しています。家を探すのは妻の仕事ですが、彼女のクソ会社はインターネットにアクセスできないので、iPadを使ってRSSを読み込んでオフラインで視聴する必要があります。結果はクソ ソーフ フォーカス RSS 非全文 RSS 便利なので、この機会に全文 RSS を生成するコードを書きました。私の人生を改善するコード。ナンセンスではありません。コードを投稿してください。
<br>
<?php<br />
header("コンテンツタイプ: text/html; charset=utf-8");<br />
ini_set("最大実行時間" ,3600);<br />
$url = "http://sz.focus.cn/common/xml/rss/news/hot.php";<br />
<br />
$newItemArr = parseItems( $url );<br />
$xmlItemContent = makeRssItemString( $newItemArr ); // アイテムのコンテンツを再生成し、ダウンロードされたコンテンツを説明に置き換えます。<br />
<br />
//RSS XML<br /> の先頭文字列と末尾文字列
$xmlPre = '<br />
<?xml バージョン="1.0" エンコーディング="GBK"?><br>
<?xml-stylesheet type="text/xsl" href="/common/xml/xsl/rss.xsl" media="all"?><br>
<?xml-stylesheet type="text/css" href="/common/xml/css/rss.css" media="all"?><br>
<br>
<rss バージョン="2.0"<br />
xmlns:focus="http://house.focus.cn"<br />
xmlns:F="http://house.focus.cn"<br />
docType="rss"<br />
F:docType="rss"<br />
><br />
<チャンネル<br />
pageIndex=""<br />
pageSize="20"<br />
RecordCount=""<br />
F:pageIndex=""<br />
F:pageSize="20"<br />
F:recordCount=""><br>
<br>
<title><![CDATA[ホットニュース-捜湖焦点ネットワーク深セン局]]></title><br>
<link>http://sz.focus.cn/newscenter/xwsy.html</link><br>
<url>http://images.house.focus.cn/img/newhouselogo.gif</url><br>
</image><br>
<title>ホットニュース-捜湖フォーカスネットワーク深センステーション</title><br>
<link>http://sz.focus.cn/newscenter/xwsy.html</link><br>
<description><![CDATA[最も包括的かつタイムリーな中国の不動産ニュースと情報を提供します]]></description><br>
<copyright>Copyright 2012、sohu.com Inc.、全著作権所有</copyright><br>
<言語>zh-cn</言語><br>
<lastBuildDate>Mon, 02 Jul 2012 21:44:21 0800</lastBuildDate><br>
<pubDate>Mon, 02 Jul 2012 21:44:21 0800</pubDate><br>
<category>不動産総合</category><br>
<ttl>30</ttl>';<br>
$xmlAppend = '</channel></rss>';<br>
<br>
<br>
$xmlOutput = $xmlPre . $xmlAppend ;<br>
echo $xmlOutput;<br>
<br>
<br>
/**<br>
* @param $url<br>
* @return array itemObj<br>
*/<br>
function parseItems( $url )<br>
{<br>
$xmlObj = simplexml_load_file( $url );<br>
$items = $xmlObj -> チャネル -> アイテム;<br>
<br>
$resultArr = array();<br>
<br>
foreach( $items as $item ):<br>
$resultArr []= makeRssItemObj( $item );<br>
エンドフォーリーチ;<br>
<br>
$resultArr;<br>を返します
}<br>
<br>
<br>
<br>
/**<br>
* @param $item<br>
* @return itemObj<br>
*/<br>
関数 makeRssItemObj( $item )<br>
{<br>
// $item->link = "demo.html";<br>
$urlContent = fileGetContent( $item->link ); //curl がサポートされていない場合は、file_get_content またはソケット接続を使用して実現します。<br>
<br>
$urlContent = @iconv("gb2312","utf-8",$urlContent);<br>
<br>
// $content = iconv("gb2312" , "utf-8" , $content);<br>
Preg_match("/id="ニュースコンテンツ">([dD] )<divs class="clear">/iU" , $urlContent , $matchArr);<br>
<br>
$item->説明 = $matchArr[1] <div class="clear">;</div>
ログイン後にコピー