* في هذه المقالة سنتحدث عن طريقة التعامل مع النصوص في البي اتش بي .
نلاحظ انه في البي اتش بي يجب احاطة اي نص بعلامة تنصيص مزدوجة او واحدة
'I am a string in single quotes'
"I am a string in double quotes"
-* برنامج البي اتش بي يتعرف على النصوص من خلال مقارنة علامات التنصيص في النص
"I am not a valid string since I have unmatching quote marks'
'Me neither!"
في هذا المثال نجد انه تمت احاطة النص بعلامات تنصيص مختلفة مزدوجة او واحدة و البي اتش بي يعطي خطا اذ انه يجب تطابق علامات التنصيص.
$s = "I am a 'single quote string' inside a double quote string";
$s = 'I am a "double quote string" inside a single quote string';
'You'd better escape your apostrophes'
في هذا المثال نجد انه تواجدت علامة تنصيص مفردة او مزدوجة - كما في المثال الثاني - داخل الجملة النصية . هنا سيعتقد البي اتش بي انه وصل نهاية الجملة عندما يجد علامة التنصيص.
$s = "I am a /'single quote string/' inside a double quote string";
$s = 'I am a /"double quote string/" inside a single quote string';
'You\'d better escape your apostrophes'
* احدى الحلول المتوفرة تكمن في اضافة علامة الهروب / قبل علامة التنصيص التي هي محتواة داخل النص كما في الامثلة اعلاه.
$file = "c:\windows\system.ini";
* في هذا النص نجد انه تتواجد علامة \ داخل النص حيث انه لن يقوم البي اتش بي بطباعتها وسيعتبرها علامة الهروب. وسيطبع الاتي :
echo $file; // prints c:windowssystem.ini
* لذا يجب اضافة علامة الهروب / ايضا
$file = "c:\\windows\\system.ini";
و سيقوم بطباعة الجملة بالطريقة الصحيحة
echo $file; // prints c:\windows\system.ini
* احد الطرق لتجاوز هذه المشاكل دون الحاجة الى استخدام علامة الهروب هي باستخدامة علامة <<< تتبع بمعرف يختاره المبرمج في بداية النص حيث تكتب في سطر لوحدها ، ثم يكتب المعرف الضي اخترناه سابقا في نهاية النص كما في المثال التالي
$head = <<<ENDH
$s = 'I am a "double quote string" inside a single quote string';
ENDH;
و لنا لقاء اخر قريبا مع تكملة مقالة التعامل مع النصوص
1- الوصل بين النصوص
2- استخدام المتغيرات في الصوص
3- اجراء العمليات على النصوص
