検索
ホームページバックエンド開発PHPチュートリアル如何用PHP把RDF内容插入Web站点之中_PHP

如何用PHP把RDF内容插入Web站点之中_PHP

Jun 01, 2016 pm 12:35 PM
hidliコンテンツできるどうやって入れるサイト

名誉和巨大的财富

设想一个从最热门的门户网站获得最新的新闻的站点。股票价格天气信息新闻故事线式讨论组软件发布……所有这一切都将被动态更新每小时一次不需要任何手工干预。我们可以想象这随之而来的站点访问量源源不断的广告收入以及网管大人所受到的“阿谀奉承”。

但是现在停止幻想开始阅读因为只要你密切关注此项技术说不定你就能成为站点的主人。 对你的要求也只是稍许的想象力一些聪明的PHP编码和几个免费的RSS文件。另外很明显还包括这篇文章剩下的九个部分。



有内容就联合成辛迪加Have Content, Will Syndicate
我们从最基本的开始——那么RSS究竟是什么鬼东西呢

RSS即RDF Site Summary是一种格式最早由Netscape公司设计用于分发其门户站点My.Netscape.Com上的内容的描述信息。自1997年被提出以来几经沉浮——可以点击文章末尾的链接了解一下RSS悠久复杂的历史。现在的稳定的版本是RSS1.0符合RDF规范。这一版本可以说即轻便又功能齐全。

RSS使得网管及时公布和分发某一特定站点的特定位置的最新最有趣的内容的描述信息变的可能。 从新闻文章列表到股票市场数据或着是天气预报所有这些信息都可以通过结构良好的XML文档来发布从而也可以被任何XML分析器进行分析处理和翻译。

网站上最新信息的列表是经常更新的而RSS使得这一列表的分发成为可能也就为Web上简易的内容辛迪加联合打开了大门。想了解这其中的道理请看下面这个简单的例子

站点A属新闻站点“内容辛迪加组织者”能够每小时发布一个包含最新新闻列表以及相应链接的RSS文档。 而这一RSS文档可以被其它站点获取如站点B“内容收集者”分析并显示在站点B的索引页面上。 每次站点A发布一个新的RSS文档站点B的索引页面都可以自动更新以获取最新的新闻。

这种方案对交易中的双方机构都有效。 既然RSS文档中的链接都指向站点A上相应的文章那么站点A将迅速体验到访问量的增加。 而站点B的网管可以休假一个星期因为他有办法自动更新其站点上的索引页面而这一方法仅仅是把索引页面与站点A发布的动态内容相连接而已。

有许多受欢迎的站点向公众提供详细的RSS或RDF新闻如Freshmeathttp://www.freshmeat.net)和Slashdot(http://www.slashdot.org),当然还有其它许多站点。在这篇文章当中,我将广泛的使用Freshmeat网站的RDF文件。需要说明的一点是,这里所谈到的技术也可以应用于其它任何RSS1.0或RDF文件。



交换频道(Switching Channels)

典型的RSS文档包含一个由描述性元数据标记出来的资源列表(URLs),请看下面的例子:

?>
rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns
="http://purl.org/rss/1.0/">

channel rdf:about="http://www.melonfire.com/">
title>Trog/title>
description>Well-written technical articles and
tutorials on Web technologies/description>

link>http://www.melonfire.com/community/columns/trog/


  • rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =100" />
  • rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =71" />
  • rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =62" />




    rdf:about="http://www.melonfire.com/community/columns/trog/article.php?i
    d=10
    0">
    Building A PHP-Based Mail Client (part 1)

    http://www.melonfire.com/community/columns/trog/article.php?id=100

    nk>
    Ever wondered how Web-based mail clients
    work? Find out here.



    rdf:about="http://www.melonfire.com/community/columns/trog/article.php?i
    d=71">
    Using PHP With XML (part 1)

    http://www.melonfire.com/community/columns/trog/article.php?id=71/link>
    Use PHP's SAX parser to parse XML data and
    generate HTML pages.



    rdf:about="http://www.melonfire.com/community/columns/trog/article.php?i
    d=62">
    Access Granted

    http://www.melonfire.com/community/columns/trog/article.php?id=62/link>
    Precisely control access to information
    with the mySQL grant tables.



    你可以看到,RDF文件由几个界限分明的部分组成。首先是文档序码(prolog),

    ?>

    然后是根元素中的名称空间声明。

    rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://purl.org/rss/1.0/">
    接着是channel>部分这部分包含了RDF所要描述的频道的一般信息。在上面的例子中频道是Melonfire网站的Trog专栏专栏内容是新的技术文章和指南每星期更新一次。

    channel rdf:about="http://www.melonfire.com/">
    title>Trog/title>
    description>Well-written technical articles and
    tutorials on Web technologies/description>

    link>http://www.melonfire.com/community/columns/trog//link>
    items>
    rdf:Seq>
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =100"
    />
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =71"
    />
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =62"
    />
    /rdf:Seq>
    /items>
    /channel>

    channel>区包含了一个items>区块items>区块又包含了文档中描述的所有资源的一个顺序列表。该列表通过一系列的li />元素来表示。区块中每一个资源都在后面的item>区块中有更详细的描述。

    items>
    rdf:Seq>
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =100"
    />
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =71"
    />
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =62"
    />
    /rdf:Seq>
    /items>

    还可以在其中放置一个image>区块这样你就可以发布频道标志的URL。

    所以为了肉RSS1.0文档中的每一个item>区块都更详细地描述一个单独的资源包括标题URL和资源描述。

    items>
    rdf:Seq>
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =100"
    />
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =71"
    />
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =62"
    />
    /rdf:Seq>
    /items>

    在这个例子里item>区块描述了Ttrog“频道”中单独的一篇文章并为这篇文章提供了描述和标题以及URL。内容收集者可以利用URL创建“向后”链接。



    你看得到RSS1.0文件相当地直观明了不管是手工还是通过编程都非常容易创建。上面的例子和解释仅仅是说明性质的通常你可以用RSS1.0和RDF做更多的事情。你最好看一下文章末尾提供的链接以获取更多的信息。不过在这之前我们再花几分钟讨论一如何将RSS1.0文档插入到你自己的Web站点之中。

  • 声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    PHPの現在のステータス:Web開発動向を見てくださいPHPの現在のステータス:Web開発動向を見てくださいApr 13, 2025 am 12:20 AM

    PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

    PHP対その他の言語:比較PHP対その他の言語:比較Apr 13, 2025 am 12:19 AM

    PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

    PHP対Python:コア機能と機能PHP対Python:コア機能と機能Apr 13, 2025 am 12:16 AM

    PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

    PHP:Web開発の重要な言語PHP:Web開発の重要な言語Apr 13, 2025 am 12:08 AM

    PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

    PHP:多くのウェブサイトの基礎PHP:多くのウェブサイトの基礎Apr 13, 2025 am 12:07 AM

    PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

    誇大広告を超えて:今日のPHPの役割の評価誇大広告を超えて:今日のPHPの役割の評価Apr 12, 2025 am 12:17 AM

    PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

    PHPの弱い参照は何ですか、そしていつ有用ですか?PHPの弱い参照は何ですか、そしていつ有用ですか?Apr 12, 2025 am 12:13 AM

    PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

    PHPで__invoke Magicメソッドを説明してください。PHPで__invoke Magicメソッドを説明してください。Apr 12, 2025 am 12:07 AM

    \ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

    MantisBT

    MantisBT

    Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい