الدليل الشامل للتعامل مع النصوص وسلاسل المحارف

في هذا التدليل الشامل للتعامل مع النصوص وسلاسل المحارف سنتعلم كيف نستخدم التوابع الموجودة في إطار عمل لارافل التي تمكننا من التلاعب في سلاسل المحارف strings و مع النصوص بشكل عام texts .

الدوال التي تأهلنا لمثل هذه العمليات موجودة في الكائن Str والذي بدوره موجود في المساحة namespace المدعوة  Illuminate\Support

يمكننا إستدعاء هذه الدالات عبر هذا الكائن Str ولكن أغلب هذه الدالات لديها اسم مستعار يمكنك من خلاله إستدائها بشكل مباشر فمثلا يمكنك إستداء الدالة “تنتهي بـ” عن طريق الكان Str::endsWith() أو بإستخدام اسمها المستعار والذي هو ends_with() .
يجدر بالذكر هنا أن الأسماء المستعارة مسماه بطريقة حالة الأفعى أي snake_case ،و نحن نملك حرية الإختيار تماماً في أي طريقة نرغب أن نستخدم ، بالتالي سوف أستخدم طريقة الكائن Str أما أنت فيمكنك إستخدام الأخرى كما يمكنك الآن توقعها لطالما أنها مكتوبة في حالة الأفعى.

الدالات المنطقية

الدالات التالية تقوم إرجاع قيمة منطقية true أو false :

  • التابعين الصريحين يبدأ بـ  و ينتهي بـ يقومان بفحص سلسلة ما في حال كانت تبدأ او تنتهي بالسلسلة الفرعية:
    Str::startsWith('Welcome to Laravel ME', 'Welcome'); // true
    
    Str::endsWith('Welcome to Laravel ME', 'ME'); // true

     

  • التابع أو الدالة تحتوي contains كما هو موضح في الشفرة التالية، يبحث عن سلسلة فرعية في سلسة ما:
    Str::contains('Welcome to Laravel ME', 'Laravel'); // true
  • التابع is تفحص في ما إذا كانت السلسة الفرعية تطابق نمط محدد، يمكنك إستخدام النجمة لتمثيل محارف بديلة أو لنقول كـ جوكر Wildcard
    Str::is('foo*', 'foobar'); // true
    
    Str::is('baz*', 'foobar'); // false

    من الأمثلة المذكورة في الأعلى يمكنك إستشفاف أنّ مثل هذه الدالات مفيدة جداً للتلاعب بالنصوص ولإختبار أسماء الملفات مثلاً.

دالات التحويل

في كثير من الحالات تحتاج إلى تحويل نص قبل عرضه على المستخدم أو تحتاج إلى تحويله إلى صيغة يقبلها المستعرض كرابط، إطار عمل لارافل يزودك بالدالات التالية كجزء منه لتساعدك بمثل هذا النوع من العمليات:

  • توليد عنوان، بحيث كل كلمة تصبح في حالة الحرف الكبير لتكون مناسبة كعنواناً.
    $value = Str::title('welcome to laravel me'); 
    // Welcome To Laravel Me

     

  • توليد سلغ، هذه الدالة تحول السلسلة المرسلة إليها إلى سلسلة صديقة للروابط أي URL-Friendly ، والمعروفة أيضاً  بـالـسلغ Slug
    Str::slug('H/i, Welcome to Laravel Me!');
    // hi-welcome-to-laravel-me

     

  • دالة تغلق سلسلة نصية ما بالمحرف المرسل إليها كمعامل ثاني
    Str::finish('this/string', '/'); // "this/string/"
    Str::finish('this/string/', '/'); // "this/string/"

     

  • دالة لتحديد عدد محارف سلسلة ما، وهي مستخدمة جداً للحد من طول العنوان المراض عرضه
    Str::limit('Welcome to Laravel Me',7); // Welcome

     

  • دالة لتحديد عدد كلمات سلسلة ما، وهي مستخدمة جداً للحد من طول العنوان المراض عرضه
    Str::words("Welcome to Laravel Me",3); // Welcome to Laravel...

     

    دالات التصريف

دالات تساعدك على إيجاد الجمع والمفرد، وهي تعمل على في اللغة الإنكليزية وحتى على الجموع الغير منتظمة

  • دالة الجمع
    Str::plural('car'); // cars
    Str::plural('child'); // children

    وروعة هذه الدالة هو المعامل الثاني الذي يمكن إرساله لتحديد العدد المراد وبناءاً عليه لارافل تعطيك الجمع، فمثلاً:

    Str::plural('child',1); // child
    Str::plural('child',2); //children

     

  • دالة المفرد
    Str::singular('wolves'); // wolf

     

  • وأخيراً يوجد دالة مستخدمة كثيراً وهي دالة التوليد المحارف العشوائية:
    Str::random(14); // 3DdzVq5X5EJHrC

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

    List of all function in Str class in Laravel
    List of all function in Str class in Laravel

    أتمنى  أن يكون هذا المقال البسيط قد نال إعجابكم ، وأن يكون لكم عوناً في طريقك بإستخدام إطار عمل لارافل

    لكم مني كل التقدير والحب