السلاسل النصية strings في لغة PHP - ProgrammerTech
Language:

Search

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

  • Share this:
السلاسل النصية strings في لغة PHP

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

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

 

دالة strlen()

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

<php
    $string = "programmer tech";
    echo strlen($string);
?>

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

15

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

 

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

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

 

PHP STRTOLOWER

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

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

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

programmer tech

 

PHP STRTOUPPER

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

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

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

PROGRAMMER TECH

 

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

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

 

PHP STR_REPLACE

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

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

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

data site manager programmer tech

 

إزالة وسوم PHP HTML

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

 

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

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

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

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

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

<h1> programmer tech </h1>

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

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

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

<h1> PROGRAMMER TECH </h1>

 

PHP STRIP_TAGS

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

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

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

programmer tech

Tags:
Muhammad Alush

Muhammad Alush

إسمي محمد تركي العلوش من سورية من ريف حلب الشرقي 1994, محب للتقنية و التعلم الذاتي, و جميع خبراتي تعلمتها ذاتياً, و اللغات البرمجية التي أتقنها هي html, css, javascript, php, c, python بالإضافة إلى حبي الكبير لمجال الشبكات.

موقعي programmer-tech.com