|
05-12-2008, 08:08 PM | رقم المشاركة : 1 | |||||
|
[شرح] الحصول على معلومات وسم Meta من صفحة أخرى
بسم الله الرحمن الرحيم array get_meta_tags ( string filename [, bool use_include_path] ) حيث filename هو عنوان الملف الذي تريد جلب معلومات وسوم meta فيه .. وفي الوسوم التي توجد في الهيدر لتعريف بعض الأمور الخاصة بالصفحة .. ويمكن ان يكون الملف محلي ( ضمن نطاق السيرفر الذي تعمل عليه ) .. أو صفحة انترنت خارج نطاق السيرفر ... سوف يتم فتح هذا الملف وطباعة محتوياته سطراً سطراً من اسطر وسوم meta انتهاءً بوسم الإغلاق للهيد .. كود PHP: </head> اما الباراميتر الثاني use_include_path والذي هو من نوع منطقي Boolean كما هو واضح في الصيغة العامة للدالة .. فإنه لو كان TRUE فسوف يتم تضمين الملف من مسار مجلد التضمين الأساسي في البي إتش بي .. للمزيد يمكنك الاطلاع على اعدادات البي اتش بي بخصوص هذا الاعداد: http://www.php.net/manual/en/ini.cor...i.include-path لنفرض أنه لدينا وسوم ميتا التالية: كود PHP: <meta name="author" *******="name"> <meta name="keywords" *******="php ********ation"> <meta name="DESCRIPTION" *******="a php manual"> <meta name="geo.position" *******="49.33;-86.59"> </head> <!-- هنا تتوقف عملية سحب البيانات --> قيمة الخاصية name في وسم الميتا سيتم اخذها على اساس انها مفتاح للعنصر في تلك المصفوفة .. فكل عنصر يتكون من المفتاح ( اسم الميتا تاج ) .. وقيمة هذا العنصر هي قيمة الخاصبة ******* للميتا تاج .. إذا كان هناك أكثر من وسم ميتا يتضمن نفس قيمة الخاصية name فسيتم إعادة قيم الوسم الأخير فقط ..! ملاحظة مهمة: جميع الرموز الخاصة في قيمة اسم الميتا تاج يتم تحويلها إلى "_" .. اما باقي الاحرف فيتم تحويلها الى lowercase ( حروف صغيرة ) .. لنأخذ مثال بسيط يقوم بطباعة محتويات وسوم الميتا في المثال السابق بعد افتراض تخزين الملف السابق باسم test.html في نفس مسار الملف الذي سوف تنشئه الان : كود PHP: <?php $meta = get_meta_tags('test.html'); // تنفيذ الدالة بحيث يصبح المتغير عبارة عن مصفوفة تحتوي على القيم التي ذكرناها سابقاً // لاحظ هنا كيف اصبحت جميعها حروف صغيرة واستبدلت "." بـ "_" echo $tags['author']; // name echo $tags['keywords']; // php ********ation echo $tags['description']; // a php manual echo $tags['geo_position']; // 49.33;-86.59 ?> الآن دعونا نفكر أكثر .. لو أردنا مثلاً تفحص موقع معين لمعرفة هل هو يستخدم vBulletin مثلاً والحصول على إصدار نسخته .. ماذا سنفعل عندها ؟؟ تأمل في الكود التالي قليلاً : كود PHP: <?php $url = "http://www.vbulletin.com/forum"; $meta = get_meta_tags($url); while (list($key, $value) = each($meta)) { if ($key == "generator" && preg_match("/^vBulletin/si", trim($value))) { echo '<span dir="rtl">هذا الموقع يعتمد على برنامج vBulletin الإصدار'. trim(preg_replace("/vbulletin/si", "", $value)) .'</span>'; } else { echo '<span dir="rtl">لا يستخدم vBulletin.</span>'; } } ?> لو فكرت قليلاً لوجدتنا حددنا عنوان الموقع وهو http://www.vbulletin.com/forum في البداية في متغير قمنا بتسميته url$ ... ثم جلبنا إلى المتغير meta$ مصفوفة بمعلومات ميتا تاج في تلك الصفحة ... بعدها بدأنا بتفريغ محتويات تلك المصفوفة بواسطة حلقة while مستخدمين دالة list التي قمت بشرح كيفية استخدامها في 09-01-2006 في الرابط التالي: http://www.swalif.net/softs/showthread.php?t=144215 وتأكدنا من ان المفتاح key وهو كما ذكرت سابقاً نفس خاصية name في الميتا نفسها .. لذلك فسنضعه نفسه مع جعل الاحرف صغيرة واستبدال الرموز الخاصة بـ "_" .. تأكدنا انه generator حيث هناك يقوم منتدى vBulletin بطباعة النسخة والاصدار .. وتأكدنا ان المتغير يحتوي على vBulletin في بدايته ثم طبعنا الاصدار بحذف كلمة vBulletin من خاصية ******* التي جعلناها هنا ( value$ ) وطبعنا رقم الاصدار بعد حذف المسافات البيضاء قبله وبعده .. وان لم يكن vBulletin بعدها سيطبع انه ليس vBulletin ... أعتقد أن هذا المثال واضح .. ان شاء الله تعالى .. أما ان كنت تريد الحصول على وسم اخر ليس meta فقد وجدت في المانيوال شخصاً قد كتب هذا الكود وبالطبع يمكن تعديله او استخدام اكودا اخرى تفي بالغرض حيث أنه فقط للمساعدة: كود PHP: <?php $page = "http://www.mysite.com/apage.php"; // tags $start = '<atag>'; $end = '<\/atag>'; // open the file $fp = fopen( $page, 'r' ); $cont = ""; // read the *******s while( !feof( $fp ) ) { $buf = trim( fgets( $fp, 4096 ) ); $cont .= $buf; } // get tag *******s preg_match( "/$start(.*)$end/s", $cont, $match ); // tag *******s $*******s = $match[ 1 ]; ?> أتمنى أن يكون أي شخص قد استفاد حتى لو القليل من هذا الدرس .. وانتظروني مرة اخرى في دروس اخرى ان شاء الله تعالى تحياتي، fire4x of morroco
آخر تعديل fire4x يوم 05-12-2008 في 08:10 PM.
|
|||||
06-12-2008, 12:32 AM | رقم المشاركة : 2 | |||||
|
مشكور اخي العزيز وجزاك الله كل خير
|
|||||
الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1) | |
أدوات الموضوع | إبحث في الموضوع |
انواع عرض الموضوع | |
|
|
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
درس عمل صفحة ممزقة | سلسبيل الخير | قسم التصاميم و الابداع | 3 | 09-12-2009 04:31 PM |
هل تريد الحصول على Windows Vista أصلية 100%؟؟ | سلسبيل الخير | المنتديات التقنية : الكمبيوتر والانترنت والجوال | 5 | 27-11-2009 08:02 AM |
صفحة مدارسة :: من حفظ المتون حاز الفنون :: | شذى الإيمان | القرآن الكريم وعلومه وتلاواته وإعجازه وقضاياه | 9 | 25-07-2009 05:02 PM |
صفحة المتاخرين/ات :: من حفظ المتون حاز الفنون :: | شذى الإيمان | القرآن الكريم وعلومه وتلاواته وإعجازه وقضاياه | 1 | 17-07-2009 10:21 AM |
انشاء صفحة انترنت بسيطة | سلسبيل الخير | تطوير المواقع والمنتديات والاستايلات ولغات البرمجة وإشهار المواقع ومحركات البحث | 6 | 11-05-2009 08:40 PM |
|