الدالة strip_tags()‎ في PHP

من موسوعة حسوب

(PHP 4, PHP 5, PHP 7)

تُزِيل الدالة strip_tags()‎ وسوم  HTMLو PHP من سلسلة نصية.

الوصف

string strip_tags ( string $str [, string $allowable_tags ] )

تحاول الدالة strip_tags()‎ إعادة سلسلة نصية بعد تجريدها من جميع علامات NULL bytes و HTML و PHP من المعامل str المعطى.

المعاملات

str

السلسلة النصية المدخلة.

allowable_tags

يمكنك استخدام المعامل الثاني الاختياري لتحديد الوسوم التي لا ينبغي إزالتها.

ملاحظات

ملاحظة: تُحذَف أيضًا تعليقات HTML ووسوم PHP. هذا الأمر مضبوطٌ في أساس هذه الدالة ولا يمكن تغييره مع المعامل allowable_tags.

ملاحظة: في الإصدار PHP 5.3.4 والإصدارات الأحدث، تُتَجَاهَل وسوم XHTML ذاتية الإغلاق ويجب استخدام علامات إغلاق غير ذاتية فقط في allowable_tags. على سبيل المثال، للسماح لكل من  <br> و <‎br/‎>، يجب عليك استخدام:

<?php
strip_tags($input, '<br>');
?>

القيم المعادة

إعادة السلسلة النصية بعد حذف الوسوم منها.

سجل التغييرات

الإصدار الوصف
5.3.4 تتجاهل الدالة strip_tags()‎ علامات XHTML ذاتية الإغلاق في allowable_tags.
5.0.0 الدالة strip_tags()‎ الآن آمنة ثنائية.

أمثلة

المثال 1: مثال على الدالة strip_tags()‎

?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";
// Allow <p> and <a>
echo strip_tags($text, '<p><a>');
?>

ناتج المثال السابق

Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>

ملاحظات

تحذير: لأن الدالة strip_tags()‎ لا تحقق من صحة شيفرة HTML، يمكن أن تؤدي الوسوم الجزئية أو ذات البنية غير الصحيحة إلى إزالة المزيد من البيانات أكثر من المتوقع.

تحذير: لا تُعدِّل هذه الدالة أي خاصيات تابعة للوسوم التي تسمح بها باستخدام allowable_tags، بما في ذلك الخاصية onmouseover التي قد يستعملها مستخدم مؤذٍ عند نشر النص الذي سيُعرَض للمستخدمين الآخرين.

ملاحظة: سيُتَعَامَل مع أسماء العلامات في HTML المدخلة التي يزيد طولها عن 1023 بايت كما لو كانت غير صالحة، بغض النظر عن المعامل allowable_tags.

انظر أيضًا

  • الدالة htmlspecialchars()‎: تحويل الأحرف الخاصة إلى مدخلات HTML.

مصادر