من الموقع: STC تطلق خدمةالتلفزيون التفاعلي المطور (انفجن) وتتيحها خلال شهر رمضان المبارك

 

العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > PHP
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو سوبر نشيط
#1  
تمارين التعابير القياسية "Regular expressions"

بسم الله الرحمان الرحيم

سيكون هذا الموضوع سؤال و جواب ويعبر ايضا تمرين ﻻستخدام التعابير لتعم الفائدة للجميع وانا منهم ..

ويمكن ﻷي عضو طرح سؤال خاص بالتعابير القياسية وﻻ يخرج عن نطاقه

وﻻ يتم وضع سؤال قبل ان يتم اﻻجابة عن السؤال قبله

من ﻻ يعرف التعابير القياسية سيجد في هذا الرابط site:swalif.net/softs/swalif45 التعابير القياسية - بحث Google‏
جميع المواضيع المطروحة في هذا المنتدى الخاصة بموضوعنا

روابط ذات صلة :

( رابط ) ارســن :: ARCCN - الدرس العشرون: التعابير القياسيه
Regular expression - Wikipedia, the free encyclopedia

دوال التعامل مع التعابير القياسية
PHP: POSIX Regex - Manual
PHP: Manual Quick Reference
سأبدأ بأول سؤال

لدي input اريد ان يكون يقبل فقط تسع ارقام والرقم اﻷول ﻻزم يكون صفر

والجواب سيكون في ردي الموالي ...






__________________
للأعمال البرمجية المدفوعة ( رابط ) http://contact.bp.ma 
عبد الواحد البشيري is offline   قديم 22-05-2008, 12:57 AM
الرد مع إقتباس
عضو سوبر نشيط
#2  

الجواب :

كود PHP:
$text="062205820";
if(
preg_match("/[0]{1}[0-9]{8}$/",$text))
    {
    echo 
"الرقم صحيح";
    }
    else
    {
    echo 
"الرقم غير صحيح";
    } 
اﻷن سنطور الكود الذي وضعته

نريد ان يكون الرقم الذي بعد صفر اكبر من صفر يعني 1 2 3....9

ﻻننا في المغرب ﻻ يمكن ان يكون الرقم هكذا 002546982






__________________
للأعمال البرمجية المدفوعة ( رابط ) http://contact.bp.ma 
عبد الواحد البشيري is offline   قديم 22-05-2008, 01:00 AM
الرد مع إقتباس
مشرف قسم PHP
#3  

إقتباس:
المشاركة الأصلية بواسطة عبد الواحد البشيري مشاهدة مشاركة
الجواب :

كود PHP:
$text="062205820";
if(
preg_match("/[0]{1}[0-9]{8}$/",$text))
    {
    echo 
"الرقم صحيح";
    }
    else
    {
    echo 
"الرقم غير صحيح";
    } 
اﻷن سنطور الكود الذي وضعته

نريد ان يكون الرقم الذي بعد صفر اكبر من صفر يعني 1 2 3....9

ﻻننا في المغرب ﻻ يمكن ان يكون الرقم هكذا 002546982
عفواً ، إجابتك ليست دقيقة ، عليك تحديد نقطة البداية بـ ^ ..

كود PHP:
if(preg_match("/^[0]{1}[0-9]{8}$/",$text)) 
لأنه لو بقي كما كتبته أنت لجاز وضع أي رقم قبل الرقم في مثالك ..

التطوير:
كود PHP:
$text="062205820";
if (
preg_match("/^[0]{1}[1-9]{1}[0-9]{7}$/",$text)) {
 echo 
"الرقم صحيح";
} else {
 echo 
"الرقم غير صحيح";

تحياتي، أشرف السمهوري






__________________
# ( رابط ) مدونة أشرف السمهوري، مبرمج من الأرض المباركة
# اتبعني على Twitter
# لا أستخدم ماسنجر أو Facebook ..
# أرسل لي رسالة قصيرة SMS سريعاً: ( رابط ) http://sms.ashraf.ms
( حروف إنجليزية فقط )
أشرف السمهوري is offline   قديم 22-05-2008, 02:14 AM
الرد مع إقتباس
عضو سوبر نشيط
#4  

شكرا لك على اﻻضافة والتطوير
كنت قد وضعت ^ ﻻني اعرف اني اقوم بتحديد البداية وازلتها لسبب ﻻ اعرفه ولهذا وضعت الكود بدونها .. اشكرك

اﻷن لو سمحت او احد اﻻخوة وضع تمرين جديد






__________________
للأعمال البرمجية المدفوعة ( رابط ) http://contact.bp.ma 
عبد الواحد البشيري is offline   قديم 22-05-2008, 03:04 AM
الرد مع إقتباس
عضو سوبر نشيط
#5  

كيف يمكن تفعيل الروابط في نص معين ؟

مثلاً لدي نص ..
كود:
google: http://www.google.com
yahoo: http://www.yahoo.com
كيف يمكن تفعيل الروابط فيه ليصبح ..
كود:
google: <a href="http://www.google.com">http://www.google.com</a>
yahoo: <a href="http://www.yahoo.com">http://www.yahoo.com</a>
لاحظو معي أن الروابط متنوعة ( http, ftp , ... ) ، أيضاً إذا كان الرابط طويلاً ( index.php?id=1&page=2&order=desc ) ، نريد تعبيراً قياسياً متكاملاً ..

بإنتظار حلولكم ..






dev11 is offline   قديم 23-05-2008, 09:22 PM
الرد مع إقتباس
عضو نشيط جدا
#6  

إقتباس:
المشاركة الأصلية بواسطة dev11 مشاهدة مشاركة
كيف يمكن تفعيل الروابط في نص معين ؟

مثلاً لدي نص ..
كود:
google: http://www.google.com
yahoo: http://www.yahoo.com
كيف يمكن تفعيل الروابط فيه ليصبح ..
كود:
google: <a href="http://www.google.com">http://www.google.com</a>
yahoo: <a href="http://www.yahoo.com">http://www.yahoo.com</a>
لاحظو معي أن الروابط متنوعة ( http, ftp , ... ) ، أيضاً إذا كان الرابط طويلاً ( index.php?id=1&page=2&order=desc ) ، نريد تعبيراً قياسياً متكاملاً ..

بإنتظار حلولكم ..
السلام عليكم

هذا حل كتبته سريعاً لما فهمته من المطلوب

كود PHP:
<?php
$a
="ftp://www.google.com";
$x=preg_replace("/^(http|ftp):\/\/(www.)*[a-zA-Z0-9]+\.[a-zA-Z0-9]+([a-zA-Z0-9&=?]+)*$/","<a href='$a'>$a</a>",$a);
echo 
$x;
?>
و يمكن اضافة عدة اضافات له أيضاً






__________________
أحمد عبد الفتاح
( رابط ) www.servmix.com 
المبيعات : info@servmix.com
لمراسلتي : engahmed@servmix.com

• ليس اليتيم الذى قد مات والده ... بل اليتيم يـتـيـم العلـم و الأدب •

Eng/ Ahmed is offline   قديم 23-05-2008, 09:54 PM
الرد مع إقتباس
عضو نشيط
#7  

موضوع جميل .
لم أصل بعد إلى هذه المرحلة !!
هذه أول مرة اقرأ فيها حول التعابير القياسية واستخداماتها
سأكون متابعة ومشاركة بإذن الله تعالى .

جزاكم الله خير الجزاء






__________________
( رابط 100 صقر !! 
يومياتي في تعلم php ..
أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
.
.
سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .
SaharRose is offline   قديم 23-05-2008, 09:59 PM
الرد مع إقتباس
عضو سوبر نشيط
#8  

حلك غير دقيق ، فهو لا يغطي جميع الروابط ، مثال إذا كان الرابط Google فإنه لايتم إعتباره كرابط ..

لدي حل ، لكنني أريد أن أرى حلولكم لكي أقارنها بما عندي






dev11 is offline   قديم 24-05-2008, 10:26 PM
الرد مع إقتباس
عضو فعال
#9  

محاولة سريعة للتفاعل مع الموضوع :
كود PHP:
"/(http|ftp):\/\/(www.)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}\/*(([\w\W\.?&=]+)*)(\s*)/is" 
تمت تجربته على :

ملاحظة : تم فصل آخر الرابط بال \s لأنه اكيد اللينك سيكون بعده مسافة






Egyptechno is offline   قديم 25-05-2008, 02:33 AM
الرد مع إقتباس
عضو نشيط جدا
#10  

إقتباس:
المشاركة الأصلية بواسطة dev11 مشاهدة مشاركة
حلك غير دقيق ، فهو لا يغطي جميع الروابط ، مثال إذا كان الرابط Google فإنه لايتم إعتباره كرابط ..

لدي حل ، لكنني أريد أن أرى حلولكم لكي أقارنها بما عندي
السلام عليكم . نعم أعلم انه ليس شامل جميع الروابط . قمت بكتابه فقط من اجل تحويل الروابط بشكل عام للشكل الذي طلبته بالأعلي .. عامة لن أضع حل أخر بما أن الأخ ايجيبتنكوا تفضل ووضع حل له و أعتقد انه ان شاء الله سيظبط مع جميع الروابط (لم أقم بتجربته <<< يغلب علي النوم )..

بانتظار أي أسئلة أخري ان شاء الله ، الموضوع أكثر من رائع و سيفيد جداً الجميع






__________________
أحمد عبد الفتاح
( رابط ) www.servmix.com 
المبيعات : info@servmix.com
لمراسلتي : engahmed@servmix.com

• ليس اليتيم الذى قد مات والده ... بل اليتيم يـتـيـم العلـم و الأدب •

Eng/ Ahmed is offline   قديم 25-05-2008, 03:57 AM
الرد مع إقتباس
عضو فعال
#11  

Eng/ Ahmed

يا باشا حل ايه وبتاع ايه ، انت الاصل يا باشا .. انا خدت الكود بتاعك وعدلت عليه فالسريع بس






Egyptechno is offline   قديم 25-05-2008, 05:10 AM
الرد مع إقتباس
مشرف قسم PHP
#12  

تعديلي السريع:
كود:
/((http|ftp):\/\/[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}\/*([\w\/\.\?&=]+)*)/is
تطبيق لعدة أمثلة وبعدة طرق :
كود PHP:
<?php
$str 
"http://www.google.com    this is Google
http://google.com    Google Also !!
http://google.com/?aaa&a=445as
http://g-o-o-gle.com/folder1/folder2/index.xml
http://my-sub-domain.google.com/folder1/folder2/index.xml
http://www2.google.info"
;

echo 
preg_replace("/((http|ftp):\/\/[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}\/*([\w\/\.\?&=]+)*)/is"'<a href="\\1">\\1</a>'$str);
?>
تحياتي، أشرف السمهوري






__________________
# ( رابط ) مدونة أشرف السمهوري، مبرمج من الأرض المباركة
# اتبعني على Twitter
# لا أستخدم ماسنجر أو Facebook ..
# أرسل لي رسالة قصيرة SMS سريعاً: ( رابط ) http://sms.ashraf.ms
( حروف إنجليزية فقط )
أشرف السمهوري is offline   قديم 25-05-2008, 12:14 PM
الرد مع إقتباس
مشرف قسم PHP
#13  

تجربة جديدة ، لا أدري مدى صحتها لكن كلها تجارب واحتمالات ممكنة:
كود PHP:
<?php
$str 
'
Link1: http://www.google.com (FIRST)
Link2: http://google.com Google Also !!
Link3: http://google.com/?aaa&a=445as
Link4: http://g-o-o-gle.com/folder1/folder2/index.xml
Link5: http://my-sub-domain.google.com/folder1/folder2/index.xml
Link6: http://www2.google.info
Link7: http://www2.google.info/folder-1/my_ex_folder/file.php3
'
;
 
echo 
preg_replace("/((http|ftp):\/\/[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}([\S]*))/is"'<a href="\\1">\\1</a>'$str);
?>
تحياتي، أشرف السمهوري






__________________
# ( رابط ) مدونة أشرف السمهوري، مبرمج من الأرض المباركة
# اتبعني على Twitter
# لا أستخدم ماسنجر أو Facebook ..
# أرسل لي رسالة قصيرة SMS سريعاً: ( رابط ) http://sms.ashraf.ms
( حروف إنجليزية فقط )
أشرف السمهوري is offline   قديم 25-05-2008, 12:27 PM
الرد مع إقتباس
عضو نشيط جدا
#14  

إقتباس:
المشاركة الأصلية بواسطة أشرف السمهوري مشاهدة مشاركة
تجربة جديدة ، لا أدري مدى صحتها لكن كلها تجارب واحتمالات ممكنة:
كود PHP:
<?php
$str 
'
Link1: http://www.google.com (FIRST)
Link2: http://google.com Google Also !!
Link3: http://google.com/?aaa&a=445as
Link4: http://g-o-o-gle.com/folder1/folder2/index.xml
Link5: http://my-sub-domain.google.com/folder1/folder2/index.xml
Link6: http://www2.google.info
Link7: http://www2.google.info/folder-1/my_ex_folder/file.php3
'
;
 
echo 
preg_replace("/((http|ftp):\/\/[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}([\S]*))/is"'<a href="\\1">\\1</a>'$str);
?>
تحياتي، أشرف السمهوري
ده اللي كنت عامل حسابه و خايف منه . ان اشرف يدخل و يرد بالموضوع
مجموعة تعديلات ممتازه يأشرف . بارك الله فيك .

Egyptechno
الله يكرمك ياباشا . مانا عارف أني الأصل
الفكره اني رديت حسب المتطلبات اللي كانت مذكور بالشكل للرابط المطلوب برد dev11 مع اني اعلم انها لن تكون شامله لجميع الروابط . لكن فضلت وضعها هكذا و لو طلب المزيد كنت هرد بالتعديلات الأكثر . لكن أشرف انهي الاجابه حلاص ووضعها






__________________
أحمد عبد الفتاح
( رابط ) www.servmix.com 
المبيعات : info@servmix.com
لمراسلتي : engahmed@servmix.com

• ليس اليتيم الذى قد مات والده ... بل اليتيم يـتـيـم العلـم و الأدب •

Eng/ Ahmed is offline   قديم 25-05-2008, 12:33 PM
الرد مع إقتباس
عضو سوبر نشيط
#15  

حلول رائعة ، لم أجربها لكن .. سأضع مالدي وسأقوم بالتجربة لاحقاً
كود PHP:
'[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]' 
هذا الحل وجدته هنا في سوالف ، وهو يفي بالغرض ..

سأقوم بالتجربة ولي عودة لاحقاً ..

إقتباس:
ملاحظة : تم فصل آخر الرابط بال \s لأنه اكيد اللينك سيكون بعده مسافة
ليس دائماً ، قد يكون الرابط في آخر فقرة ويكون متبوعاً مباشرة بنقطة

إقتباس:
قمت بكتابه فقط من اجل تحويل الروابط بشكل عام للشكل الذي طلبته بالأعلي
ياعزيزي .. ما أوضحته أننا نريد تعبيراً قياسياً متكاملاً أما ما وضعته أنا فما هو الا مثال على تنوع الروابط .






dev11 is offline   قديم 25-05-2008, 06:12 PM
الرد مع إقتباس
عضو نشيط جدا
#16  

إقتباس:
المشاركة الأصلية بواسطة dev11 مشاهدة مشاركة
ياعزيزي .. ما أوضحته أننا نريد تعبيراً قياسياً متكاملاً أما ما وضعته أنا فما هو الا مثال على تنوع الروابط .
حسناً فهمت انا قصدك خطأ . المره القادمه هقرأ الطلب بتمعن و ليس بشكل سريع

إقتباس:
كود PHP:
'[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]' 
هذا الحل وجدته هنا في سوالف ، وهو يفي بالغرض ..
تمام . لكن من نظري انه غير دقيق أيضاً للأسف. رأيت هذا النمط من قبل لل regular expressions لكن لم أعمل به . قم بالتجربه بنفسك . معني هذا كمثال انه يمكن وضع بروتوكلات غريبه غير ال ftp و ال http كمثال اني أكتب رابط هكذا zx://ass.com او أني اكتب الموقع بهذا الشكل zxe://ccccccc . لذلك بنظري الحلول الموجوده حتي الان بالموضوع أفضل و أدق

هذا و الله أعلم ،






__________________
أحمد عبد الفتاح
( رابط ) www.servmix.com 
المبيعات : info@servmix.com
لمراسلتي : engahmed@servmix.com

• ليس اليتيم الذى قد مات والده ... بل اليتيم يـتـيـم العلـم و الأدب •

Eng/ Ahmed is offline   قديم 25-05-2008, 07:47 PM
الرد مع إقتباس
عضو فعال
#17  

إحم ..

لدي سؤال جديد

نريد تعبيرا قياسيا للتعرف على جميع الصور التي في رابط ما ..
مثلا
Google
يقوم التعبير القياسي بالتعرف على جميع الصور التي في هذه الصفحة وطبعا كيفية قراءة الصفحة ليست هي مشكلتنا الآن

كود PHP:
$str file_get_contents("http://www.google.com");
preg_match_all("/[PATTERN]/"$str$res); 






Egyptechno is offline   قديم 25-05-2008, 08:56 PM
الرد مع إقتباس
عضو نشيط جدا
#18  

إقتباس:
المشاركة الأصلية بواسطة Egyptechno مشاهدة مشاركة
إحم ..

لدي سؤال جديد

نريد تعبيرا قياسيا للتعرف على جميع الصور التي في رابط ما ..
مثلا
Google
يقوم التعبير القياسي بالتعرف على جميع الصور التي في هذه الصفحة وطبعا كيفية قراءة الصفحة ليست هي مشكلتنا الآن

كود PHP:
$str file_get_contents("http://www.google.com");
preg_match_all("/[PATTERN]/"$str$res); 
ايه الأسئلة المعقدة دي

كتبت pattern بشكل سريع لمقارنة tags ال img . أتمني أن يكون المطلوب .. لم أجربه والله حتي لأني مضطر أخرج الان (حظكم دايماً اني بشوف المواضيع قبل ما أخرج بلحظات ) .. جربوه و بلغوني بالنتيجه <<< أهم شيء قبل أشرف ما يرجع






__________________
أحمد عبد الفتاح
( رابط ) www.servmix.com 
المبيعات : info@servmix.com
لمراسلتي : engahmed@servmix.com

• ليس اليتيم الذى قد مات والده ... بل اليتيم يـتـيـم العلـم و الأدب •

Eng/ Ahmed is offline   قديم 25-05-2008, 09:57 PM
الرد مع إقتباس
عضو نشيط جدا
#19  

ههههههههه حتي من استعجالي نسيت أكتب ال pattern !!
تفضل
كود PHP:
"/^<img src=('|\"){1}[\s]*[A-Za-z0-9-_.\/?&]+('|\"){1}[\s]*([a-zA-Z0-9\s=]+('|\"){1}[a-zA-Z0-9-_.\s\:"']*('|"){1})*[\s]*(\/)*>$/" 
أراكم ليلاً ،






__________________
أحمد عبد الفتاح
( رابط ) www.servmix.com 
المبيعات : info@servmix.com
لمراسلتي : engahmed@servmix.com

• ليس اليتيم الذى قد مات والده ... بل اليتيم يـتـيـم العلـم و الأدب •

Eng/ Ahmed is offline   قديم 25-05-2008, 09:58 PM
الرد مع إقتباس
مشرف قسم PHP
#20  

حسنا ما رايكم في تعبير ... يستخلص اوسمة html ويضعها في مصفوفه ثم يستخرج من كل وسم خصائصة وضعها في عنصر المصفوفه نفسه .
كود PHP:
<font color="blue" size="3">hello</font>
<
div style="color:red">hello div</div
المخرجات
كود PHP:
$arr[font][attr] = array('color'=>'blue','size'=>'3');
$arr[font][body] = 'hello';
$arr[div][attr] = array('style'=>'color:red');
$arr[div][body] = 'hello div'
كيف سيكون هذا التعبير ؟






__________________
I Love PHP (d4d@hotmail.com)
http://www.daif.net/
daif is offline   قديم 25-05-2008, 11:23 PM
الرد مع إقتباس
مشرف قسم PHP
#21  

كود PHP:
<?php
 $html 
"
<font color=\"blue\" size=\"3\">hello</font>
<div style=\"color: red\">contents here</div>
 "
;
 
preg_match_all('/\<([A-Z][A-Z0-9]+)\s*(\s+.*)\>(.*)\<\/\1\>/i'$html$arr);
 
$tags = array();
 foreach (
$arr[1] as $key => $val) {
  
preg_match_all('/([A-Z0-9]+)\s*=\s*("|\'|)(.*)\2/iU'$arr[2][$key], $attrs);
  
$tags[$val]['attr'] = array();
  foreach (
$attrs[1] as $key2 => $val2) {
   
$tags[$val]['attr'][$val2] = $attrs[3][$key2];
  }
  
$tags[$val]['body'] = $arr[3][$key];
 }
 
print_r($tags);
?>
مجرد محاولة باستخدام عبارتين منتظمتين






__________________
# ( رابط ) مدونة أشرف السمهوري، مبرمج من الأرض المباركة
# اتبعني على Twitter
# لا أستخدم ماسنجر أو Facebook ..
# أرسل لي رسالة قصيرة SMS سريعاً: ( رابط ) http://sms.ashraf.ms
( حروف إنجليزية فقط )
أشرف السمهوري is offline   قديم 26-05-2008, 02:41 AM
الرد مع إقتباس
مشرف قسم PHP
#22  

- ماذا لو كان الوسم لا ينتهي بمثله ... أقصد مثل <hr /> - <br />
- لماذا وضعت U في التعبير الثاني + لماذا ايضا لم تضعه في التعبير الاول ؟
- ايضا لم افهم لماذا وضعت [A-Z][A-Z0-9] في الاستعلام الاول ولم يكن هكذا فقط [A-Z]+






__________________
I Love PHP (d4d@hotmail.com)
http://www.daif.net/
daif is offline   قديم 26-05-2008, 03:35 AM
الرد مع إقتباس
مشرف قسم PHP
#23  

إقتباس:
- ماذا لو كان الوسم لا ينتهي بمثله ... أقصد مثل <hr /> - <br />
كنت سأحاول تضمينه لو أنك قلت xhtml ، كود html أصعب للاكتشاف ، ومع ذلك يمكن بالطبع ، فلا شيء مستحيل .. سأحاول مالم يحاول الأعضاء اليوم إن شاء الله إذا كان في وقت ..

إقتباس:
- لماذا وضعت U في التعبير الثاني + لماذا ايضا لم تضعه في التعبير الاول ؟
التعبير الثاني إن لم أضع فيه U ستطغو الخاصية الأولى على جميع الخواص وتعتبر عنصراً واحداً مطابقاً للـ pattern .. بهذه الطريقة، سيقف عند أول إشارة مطابقة للأولى بدلاً من أن يتابع الإمساك ببقية النص ..

التعبير الأول ، ليس من الضروري أن يكون " طماعاً " أو Greedy .. فكل ما بين الوسمين يعتبر تابعاً لهما ..

إقتباس:
- ايضا لم افهم لماذا وضعت [A-Z][A-Z0-9] في الاستعلام الاول ولم يكن هكذا فقط [A-Z]+
لا يمكن أن يكون [A-Z]+ ، حيث أن هناك بعض الوسوم تحتوي على أرقام ، مثل h1 وغيره ، وكان بالإمكان أن يكون [A-Z0-9]+ فقط .. لكن حتى نضمن أن الوسم يبدأ بحرف ، وليس برقم ..

أمر آخر

الكود الذي طرحته في الأعلى لا يدعم Nested Tags ، أو الوسوم المتداخلة ، وبصراحة لم أتوصل لطريقة عملية لدعمها ، يمكن دعمها بطرق مرهقة برمجياً ، ومرهقة للسيرفر كذلك .. إذا استطعت الوصول إلى طريقة مناسبة سأقوم بإضافتها إن شاء الله ، وفي انتظار تعديلاتكم وإضافاتكم كذلك ..

تحياتي، أشرف السمهوري






__________________
# ( رابط ) مدونة أشرف السمهوري، مبرمج من الأرض المباركة
# اتبعني على Twitter
# لا أستخدم ماسنجر أو Facebook ..
# أرسل لي رسالة قصيرة SMS سريعاً: ( رابط ) http://sms.ashraf.ms
( حروف إنجليزية فقط )
أشرف السمهوري is offline   قديم 26-05-2008, 10:55 AM
الرد مع إقتباس
مشرف قسم PHP
#24  

في الحقيقة أمر مربك ههه

قمت بإضافة U إلى التعبير الأول حتى نتمكن من وضع أكثر من تاج بنفس الاسم .. وقمت بإصلاح بعض المشاكل ، وكذلك جعلت كل tag له مصفوفة بداخلها نتائجها ، حتى لا تضارب الوسوم المتشابهة بالاسم في نفس المصفوفة ..

التعديل:
كود PHP:
<?php
 $html 
"
<font color=\"blue\" size=\"3\"></font>
<div style=\"color: red\">contents here</div>
 "
;
 
preg_match_all('/\<([A-Z][A-Z0-9]+)\s*(.*)\>(.*)\<\/\1\>/isU'$html$arr);
 
$tags = array();
 foreach (
$arr[1] as $key => $val) {
  
preg_match_all('/([A-Z0-9]+)\s*=\s*("|\'|)(.*)\2/iU'$arr[2][$key], $attrs);
  
$attrs_list = array();
  foreach (
$attrs[1] as $key2 => $val2) {
   
$attrs_list[$val2] = $attrs[3][$key2];
  }
  
$tags[$val][] = array('attr' => $attrs_list'body' => $arr[3][$key]);
 }
 
print_r($tags);
?>
فعلاً أمر مربك ، ما زال الكود غير مؤهل للعمل بالشكل الكامل ..

تحياتي، أشرف السمهوري






__________________
# ( رابط ) مدونة أشرف السمهوري، مبرمج من الأرض المباركة
# اتبعني على Twitter
# لا أستخدم ماسنجر أو Facebook ..
# أرسل لي رسالة قصيرة SMS سريعاً: ( رابط ) http://sms.ashraf.ms
( حروف إنجليزية فقط )
أشرف السمهوري is offline   قديم 26-05-2008, 11:30 AM
الرد مع إقتباس
مشرف قسم PHP
#25  

نعم اضافة المعدّل او المحوّل U الى التعبير مهمة جدا ... حتى يأخذ النتيجة قطعة قطعة بدلا من اخذها كلها كقطعة واحدة.
ليس لدي اي شيء آخر .






__________________
I Love PHP (d4d@hotmail.com)
http://www.daif.net/
daif is offline   قديم 27-05-2008, 04:41 AM
الرد مع إقتباس
الرد على الموضوع


 

أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
تبادل الخبرات[7](صفحاتنا و المعايير القياسية) Zizwar الويب والويب 2.0 والتجارة الالكترونية 31 02-09-2009 01:03 AM
من فضلكم اريد درس في التعابير القياسية الشعلة PHP 2 11-01-2008 02:49 AM
المعايير القياسية و حلم الاكواد الملائمة العرب للجميع الويب والويب 2.0 والتجارة الالكترونية 2 24-02-2007 09:30 PM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 04:04 PM.