سؤال

كيف يمكنني مسح صفحة HTML ، للنص داخل DIV معين؟

هل كانت مفيدة؟

المحلول

أبسط طريقة للقيام بذلك هي الاستخدام محلل HTML DOM بسيط

// Create a DOM object from a URL
$html = file_get_html('http://www.google.com/');    

// Find all <div> which attribute id=foo
$ret = $html->find('div[id=foo]');

نصائح أخرى

يمكنك أيضًا القيام بذلك باستخدام DOMDocument صف دراسي.

الاستخدام مستقيم إلى الأمام:

$dom = new DOMDocument();
$dom->loadHTML(file_get_contents($url));

// Example:
$dom->getElementById('foo');

الوثائق هنا.

يمكن العثور على مثال على استخدام العالم الحقيقي هنا.

يمكنك استخدام البناء في الوظائف كما اقترح الآخرين أو يمكنك تجربة محلل HTML DOM البسيط يتم تنفيذها كفئة PHP بسيطة وبعض وظائف المساعد. وهو يدعم شاشة نمط CSS Selector Screen (كما هو الحال في jQuery) ، يمكنه التعامل مع HTML غير صالح ، وحتى يوفر واجهة مألوفة لمعالجة DOM.

يجدر التحقق من ذلك في http://simplehtmldom.sourceforge.net/

preg_match() لمطابقة السلسلة الفرعية التي تريدها أو استخدام DOM/XML.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top