"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं SimpleXML का उपयोग करके PHP में RSS/एटम फ़ीड को कुशलतापूर्वक कैसे पार्स कर सकता हूँ?

मैं SimpleXML का उपयोग करके PHP में RSS/एटम फ़ीड को कुशलतापूर्वक कैसे पार्स कर सकता हूँ?

2024-11-24 को प्रकाशित
ब्राउज़ करें:425

How Can I Efficiently Parse RSS/Atom Feeds in PHP Using SimpleXML?

PHP के साथ आरएसएस/एटम फ़ीड को पार्स करना

मैगपाई आरएसएस का उपयोग करके आरएसएस या एटम फ़ीड को पार्स करते समय, उन वैकल्पिक विकल्पों पर विचार करना महत्वपूर्ण है जो संभाल सकते हैं सुगठित फ़ीड. ऐसा ही एक विकल्प SimpleXML है।

PHP में निर्मित SimpleXML, XML दस्तावेज़ों को पार्स करने के लिए एक उपयोगकर्ता-अनुकूल संरचना प्रदान करता है। यह XML त्रुटियों का पता लगाता है और कोई भी समस्या आने पर चेतावनी देता है। ऐसी त्रुटियों को दूर करने के लिए, आप स्रोत को साफ़ करने के लिए HTML Tidy का उपयोग करने पर विचार कर सकते हैं।

यहां एक बुनियादी वर्ग है जो RSS फ़ीड्स को पार्स करने के लिए SimpleXML का उपयोग करता है:

class BlogPost {
    public $date;
    public $ts;
    public $link;
    public $title;
    public $text;
}

class BlogFeed {
    public $posts = [];

    public function __construct($file_or_url) {
        $file_or_url = $this->resolveFile($file_or_url);
        if (!$x = simplexml_load_file($file_or_url)) return;

        foreach ($x->channel->item as $item) {
            $post = new BlogPost();
            $post->date = (string)$item->pubDate;
            $post->ts = strtotime($item->pubDate);
            $post->link = (string)$item->link;
            $post->title = (string)$item->title;
            $post->text = (string)$item->description;
            $post->summary = $this->summarizeText($post->text);

            $this->posts[] = $post;
        }
    }

    private function resolveFile($file_or_url) {
        if (!preg_match('|^https?:|', $file_or_url))
            $feed_uri = $_SERVER['DOCUMENT_ROOT'] .'/shared/xml/'. $file_or_url;
        else
            $feed_uri = $file_or_url;

        return $feed_uri;
    }

    private function summarizeText($summary) {
        $summary = strip_tags($summary);
        $max_len = 100;
        if (strlen($summary) > $max_len)
            $summary = substr($summary, 0, $max_len) . '...';

        return $summary;
    }
}

SimpleXML का उपयोग करके और XML त्रुटियों को संभालकर, आप PHP का उपयोग करके RSS और एटम फ़ीड दोनों को प्रभावी ढंग से पार्स कर सकते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3