recent
أخبار ساخنة

السلاسل النصية في PHP

السلاسل النصية String في php

السلاسل النصية String

السلسلة النصية ( string ) في لغة php, يُمكن تعريف السلسلة النصية strings على أنها عبارة عن مجموعة من المحارف يُمكن تغيير محتواها بعد إنشائها. حيث توفر php مجموعة من الدوال المتعددة لإجراء مختلف العمليات عليها. 

دالة strlen()

في كثير من الأحيان عند التعامل مع السلاسل النصية strings نحتاج لمعرفة طول السلسلة النصية التي نتعامل معها. و يُمكن القيام بتلك المهمة بإستخدام دالة strlen() ووظيفة هذه الدالة أنها تقوم بإعادة طول السلسلة النصية.

<?php
    $string = "Nusur Tech";
    echo strlen($string);
?>

عندما نشغل هذا الكود في المتصفح سيكون الناتج 10.

تم تغليف المُتغير الذي يحمل السلسلة النصية داخل الدالة strlen() لمعرفة طول أو عدد أحرف السلسلة النصية و كان عدد الأحرف هو 10.

تحويل أحرف اللغة الإنجليزية PHP STRING

توجد أيضاً بعض الدوال في لغة PHP تقوم بتحويل الأحرف الإنجليزية سواء من الأحرف الكبيرة إلى الصغيرة و بالعكس, سوف نتعرف عليها الآن.

 

PHP STRTOLOWER

تقوم هذه الدالة بتحويل حروف اللغة الإنجليزية من الحروف الكبيرة إلى الحروف الصغيرة (a , A). و يُمكن إستخدام الدالة عند تسجيل المُستخدم حيث تقوم بتحويل الحروف الكبيرة إلى حروف صغيرة و العكس صحيح.

<?php
    $string1 = "NUSUR TECH";
    echo strtolower($string1);
?>

عند تشغيل الكود ستكون النتيجة 

nusur tech

PHP STRTOUPPER

هذه الدالة مثل الدالة السابقة لكن تقوم بعكس دالة strtolower حيث تقوم بتحويل الحروف الصغيرة إلى حروف كبيرة.

<?php
    $string2 = "nusur tech";
    echo strtoupper($string2);
?>

عند تشغيل الكود ستكون النتيجة NUSUR TECH

إستبدال أو تغيير النص PHP STRING

كما في باقي لغات البرمجة عندما نريد تبديل نص أو تغييره, توجد دالة تقوم بإستبدال النصوص أو تعديلها.

 

PHP STR_REPLACE

تقبل هذه الدالة ثلاث قيم و هي :

  1. النص المراد البحث عنه أو تغييره و يُمكن أن يكون سلسله نصية أو مصفوفة و في حالتي أنا النص المراد تغييره هو كلمة AMVIIP.
  2. النص المراد إستبداله بـالنص القديم و يُمكن أيضاً أن يكون مصفوفة أم سلسلة نصية و في حالتي أنا النص الجديد هو كلمة MUHAMMAD.
  3. إسم السلسلة التي يجري عليها عملية تغيير النص في حالتي أنا إسمها string.
<php
    $string = "AMVIIP site manager nusur tech";
    $new_string = str_replace('AMVIIP','MUHAMMAD',$string);
    echo $new_string;
?>

عند تشغيل الكود ستكون النتيجة

MUHAMMAD site manager nusur tech

إزالة وسوم PHP HTML

توجد دالتين يمكن إستخدامهم لمنع تنفيذ بعض وسوم HTML سنتعرف على هذه الدوال.

 

دالة PHP htmlentities و دالة html specialchars

هاتان الدالتان يُمكنك إستخدامهم في محو تنفيذ وسوم HTML مثل حذف تنفيذ تلك العمليات (<,>,$,*,%,') بالإضافة إلى حذف اكواد HTML. نحن نعرف أنه إذا كان النَص داخل وسوم مثل H1 سيظهَر النص بشكل كبير على أساس أن هذا النص عبارة عن عنوان. لكن مع إستخدام تلك الدوال سيظهَر النص مثل ما هو و لا يقبل أي تنفيذ من اكواد HTML و يُستخدَم تلك الدوال لحماية المتغيرات من الثغرات. مثل ثغرات XSS التي تتيح للمشاغبين في تنفيذ أكواد JAVASCRIPT من خلال وسم script الموجود ضمن وسوم html.

و نستخدم عملية الفلترة بإستخدام تلك الدوال في حقول الإدخال من قبل users. يُمكنك متابعة حماية الموقع من تلك الثغرات بالتفصيل من هنا. لكن تلك الدوال ستقوم بطباعة النص مثلما موجود مثل <h1> nusur tech </h1>. لكن ماذا إذا كنا نُريد حذف اكواد html من output بشكل نهائي هنا نستخدم دالة اُخرة و هي PHP STRIP_TAGS.

<php
    $user_string1 = "<h1> nusur tech </h1>";
    echo htmlentities($user_string1);
?>

هذا الكود سوف يطبع الوسم و ما بداخله كما يلي

<h1> nusur tech </h1>

أما بالنسبة للدالة الثانية

<php
    $user_string2 = "<h1> NUSUR TECH </h1>";
    echo specialchars($user_string2);
?>

هذا الكود سوف يطبع الوسم و ما بداخله كما يلي

<h1> NUSUR TECH </h1>

PHP STRIP_TAGS

تقوم دالة strip_tags بحذف جميع اكواد html من output مع عدم تنفيذ تلك الأكواد. و نستخدم هذه الدالة كثيراً في فلترة البيانات من المُستخدمين لعدم تنفيذ ثغرات حقن اكواد html مثل ثغرة html injection وثغرات xss.

<php
    $user_string3 = "<h1> nusur tech </h1>";
    echo specialchars($user_string3);
?>

هذا الكود سوف يطبع فقط ما بداخل الوسم

nusur tech

امثلة على كيفية التعامل مع السلاسل النصية php

إنشاء سلسلة نصية:

$text = "مرحبًا بك في PHP";

طباعة سلسلة نصية:

$text = "مرحبًا بك في PHP";
echo $text; // الطباعة: مرحبًا بك في PHP

الانضمام بين سلاسل نصية:

$text1 = "مرحبًا";
$text2 = "بك";
$fullText = $text1 . " " . $text2;
echo $fullText; // الطباعة: مرحبًا بك

استخدام متغيرات داخل سلاسل النصية:

$name = "أحمد";
$message = "مرحبًا، $name!";
echo $message; // الطباعة: مرحبًا، أحمد!

طول السلسلة النصية:

$text = "مرحبًا بك في PHP";
$length = strlen($text);
echo $length; // الطباعة: 16

الوصول إلى حرف محدد في السلسلة النصية:

$text = "مرحبًا بك في PHP";
$char = $text[0];
echo $char; // الطباعة: مالطباعة: 16

البحث عن نص محدد داخل سلسلة النصية:

$text = "مرحبًا بك في PHP";
$position = strpos($text, "بك");
echo $position; // الطباعة: 8

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

google-playkhamsatmostaqltradent