![]() |
[ درس ] برمجة محرك (نحو)-التدوينه2-برمجة اعراب الجار والمجرور http://advphp.com/imgup/images/92923965619836776696.png المقال الاصلى التدوينه الثانيه:برمجة اعراب حرف الجر والاسم المجرور-جزء اول بسم الله الرحمن الرحيم بعد ما تعرفنا فى التدوينه الاولى ,وطرحنا فيها ما سنقوم به بإختصار,وما هى الصعوبات التى ستواجهنا فى برمجة هذا المشروع الضخم,لكن نسأل الله أن يوفقنا فى التغلب على هذه الصعوبات ليخرج هذا المشروع للنور بدءا من هذا الدرس,سنبدأ البرمجة الفعلية لهذا المشروع,وسنبدأ بالأسهل ثم نتدرج فى الصعوبة خطوه خطوه ,واول ما سنبدأ به هو اعراب الجمل المجروره بحروف الجر.......فلنبدأ على بركة الله ....... نفرض اننا نريد اعراب الجملة (ذهب محمد إلى النادى) اولا:سنستقبل الجمله المرسلة من فورم الاعراب بدالة post ثانيا:سنقوم بتقسيم الجمله لكلمات وادخالها فى مصفوفه باستخدام دالة explode ثالثا:سنستخدم دالة التكرار foreach لنقوم بالمرور على كلمة فى المصفوفه ليتم اخضاعها لسلسه من الأوامر البرمجية لاخراج الاعراب المناسب لها رابعا:لاعراب حرف الجر والاسم المجرور الذى سيليه سنقوم بالاتى: عمل مصفوفه بها حروف الجر وهى : من-الى -حتى-فى-عن-على-منذ-خلا-عدا-حاشا-إلى بعد عمل مصفوفه بهذه الكلمات,سنستخدم دالة ()in_array لمطابقة اى كلمة فى الجملة المراد اعرابها بواحد من هذه الكلمات,واذا كان ناتج هذه الداله صحيح,اى ان الكلمة التى نحن عليها هى حرف جر بعد ما عرفنا ان الكلمة حرف جر,لابد أن نعرف موضع هذه الكلمة من المصفوفه,لنستيطع من خلالها اعراب الكلمة التى تليها مباشرة والتى سيكون اعرابها اسم مجرور,لذلك سنستخدم دالة ()array_search وهى داله وظيفتها اخراج مفتاح القيمه (الكلمه) لنعرف موضع هذه الكلمه فى المصفوفه(الجمله) فلو طبقنا الكلام السابق على الجملة (ذهب محمد إلى النادى) فإن مفتاح كلمة (إلى) هو (2),فكما تعرفون ان المصفوفه عد عناصرها يبدأ من الصفر,لذا إلى سيكون موضعها رقم 2 فى المصفوفه الان بعد ماعرفنا موضع حرف الجر,سنضيف واحد لرقم مفتاح هذا الحرف,لنجلب الكلمة التى تليه والذى سيكون الاسم المجرور وتلخيصا لماسبق هذا الكود لهذه المرحلة رمز Code: if(in_array($word,$characters_list)){ $this_key=array_search($word,$exp_stmt);//2 $character=$exp_stmt[$this_key]; $next_key=$this_key+1;//3 $mdaf_eleh=$exp_stmt[$next_key]; الان عرفنا حرف الجر والاسم المجرور, اخر مرحلة ,هى اعراب الاسم المجرور,ولو تتذكرو ان الاسم المجرور اما يجر بالكسره اذا كان مفرد او جمع تكسير او جمع المؤنث السالم,ويجر بالياء اذا كان مؤنث او جمع مذكر سالم وحتى نعرف نوع الاسم المجرور الذى يلى حرف الجر هل هو مفرد او مثنى او جمع مذكر سالم او مؤنث سالم,سنقوم بجلب اخر حرفين منه ,بحيث لو كان اخره (ين)سيكون اعرابه اسم مجرور بالياء,اما لو لم يكن اخره (ين)فسيكون اعرابه اسم مجرور بالكسره, ولعمل ذلك سنستخدم دالة ()substr ,وهى داله وظيفتها ان تقتنص اى جزء من النص او الكلمة,ولكن مشكلة هذه الداله هى انها لا تعمل جيدا مع اللغه العربية بسبب مشكلة الترميز فى اللغة العربية,لذلك سنستخدم داله شبيه بها وهى دالة ()mb_substr ,وهى داله له نفس وظيفة دالة ()substr ,ولكن يمكنك تحديد الترميز الذى تريده .... لذا سيكون الكود كالاتى: رمز Code: if(mb_substr($mdaf_eleh,-2,2,'UTF-8')=="ين"){ echo $mdaf_eleh." : اسم مجرور ب$character وعلامة جره الياء "; }else { echo $mdaf_eleh." : اسم مجرور ب$character وعلامة جره الكسرة "; }//end mb_substr وهكذا تنتهى التدوينه الثانيه,وسنستكمل بقية الجزء الخاص باعراب حروف الجر فى التدوينه القادمه,ترقبونا لتجربة كل جزء ننتهى منه مباشرة ,من خلال موقع نحو محرك اعراب نحو لمتابعة كافة التدوينات عن كيفية برمجة محرك نحو na7w.com,اول مشروع عربى لاعراب الجمل العربية من خلال الصفحة الخاصة الاتيه: تدوينات فى برمجة محرك نحو |
| الساعة الآن 12:03 AM |
Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2 TranZ By
Almuhajir