الفرق بين المراجعتين ل"PHP/strip tags"
سطر 2: | سطر 2: | ||
(PHP 4, PHP 5, PHP 7) | (PHP 4, PHP 5, PHP 7) | ||
− | تُزِيل الدالة strip_tags() وسوم | + | تُزِيل الدالة <code>strip_tags()</code> وسوم <nowiki/>[[HTML]] و PHP من سلسلة نصية. |
== الوصف == | == الوصف == | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
string strip_tags ( string $str [, string $allowable_tags ] ) | string strip_tags ( string $str [, string $allowable_tags ] ) | ||
− | </syntaxhighlight>تحاول الدالة strip_tags() إعادة سلسلة نصية بعد تجريدها من جميع علامات NULL bytes و HTML و PHP من المعامل str المعطى. | + | </syntaxhighlight>تحاول الدالة <code>strip_tags()</code> إعادة سلسلة نصية بعد تجريدها من جميع علامات NULL bytes و HTML و PHP من المعامل <code>str</code> المعطى. |
== المعاملات == | == المعاملات == | ||
− | === str === | + | === <code>str</code> === |
السلسلة النصية المدخلة. | السلسلة النصية المدخلة. | ||
− | === allowable_tags === | + | === <code>allowable_tags</code> === |
يمكنك استخدام المعامل الثاني الاختياري لتحديد الوسوم التي لا ينبغي إزالتها. | يمكنك استخدام المعامل الثاني الاختياري لتحديد الوسوم التي لا ينبغي إزالتها. | ||
== ملاحظات == | == ملاحظات == | ||
− | ملاحظة: تُحذَف أيضًا تعليقات HTML ووسوم PHP. هذا الأمر مضبوطٌ في أساس هذه الدالة ولا يمكن تغييره مع المعامل allowable_tags. | + | ملاحظة: تُحذَف أيضًا تعليقات HTML ووسوم PHP. هذا الأمر مضبوطٌ في أساس هذه الدالة ولا يمكن تغييره مع المعامل <code>allowable_tags</code>. |
− | ملاحظة: في الإصدار PHP 5.3.4 والإصدارات الأحدث، تُتَجَاهَل وسوم XHTML ذاتية الإغلاق ويجب استخدام علامات إغلاق غير ذاتية فقط في allowable_tags. على سبيل المثال، للسماح لكل من | + | ملاحظة: في الإصدار PHP 5.3.4 والإصدارات الأحدث، تُتَجَاهَل وسوم XHTML ذاتية الإغلاق ويجب استخدام علامات إغلاق غير ذاتية فقط في <code>allowable_tags</code>. على سبيل المثال، للسماح لكل من <code>[[HTML/br|<nowiki><br></nowiki>]]</code> و <code><br/></code>، يجب عليك استخدام:<syntaxhighlight lang="php"> |
<?php | <?php | ||
strip_tags($input, '<br>'); | strip_tags($input, '<br>'); | ||
سطر 31: | سطر 31: | ||
== سجل التغييرات == | == سجل التغييرات == | ||
{| class="wikitable" | {| class="wikitable" | ||
− | + | !الإصدار | |
− | + | !الوصف | |
|- | |- | ||
|5.3.4 | |5.3.4 | ||
− | |تتجاهل الدالة strip_tags() علامات XHTML ذاتية الإغلاق في allowable_tags. | + | |تتجاهل الدالة <code>strip_tags()</code> علامات XHTML ذاتية الإغلاق في <code>allowable_tags</code>. |
|- | |- | ||
|5.0.0 | |5.0.0 | ||
− | |الدالة strip_tags() الآن آمنة ثنائية. | + | |الدالة <code>strip_tags()</code> الآن آمنة ثنائية. |
|} | |} | ||
== أمثلة == | == أمثلة == | ||
− | المثال 1: مثال على الدالة strip_tags()<syntaxhighlight lang="php"> | + | المثال 1: مثال على الدالة <code>strip_tags()</code><syntaxhighlight lang="php"> |
− | ?php | + | <?php |
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>'; | $text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>'; | ||
echo strip_tags($text); | echo strip_tags($text); | ||
سطر 50: | سطر 50: | ||
echo strip_tags($text, '<p><a>'); | echo strip_tags($text, '<p><a>'); | ||
?> | ?> | ||
− | </syntaxhighlight>ناتج المثال السابق<syntaxhighlight lang="html"> | + | </syntaxhighlight>ناتج المثال السابق:<syntaxhighlight lang="html"> |
Test paragraph. Other text | Test paragraph. Other text | ||
<p>Test paragraph.</p> <a href="#fragment">Other text</a> | <p>Test paragraph.</p> <a href="#fragment">Other text</a> | ||
سطر 56: | سطر 56: | ||
== ملاحظات == | == ملاحظات == | ||
− | تحذير: لأن الدالة strip_tags() لا تحقق من صحة شيفرة HTML، يمكن أن تؤدي الوسوم الجزئية أو ذات البنية غير الصحيحة إلى إزالة المزيد من البيانات أكثر من المتوقع. | + | تحذير: لأن الدالة <code>strip_tags()</code> لا تحقق من صحة شيفرة HTML، يمكن أن تؤدي الوسوم الجزئية أو ذات البنية غير الصحيحة إلى إزالة المزيد من البيانات أكثر من المتوقع. |
− | تحذير: لا تُعدِّل هذه الدالة أي خاصيات تابعة للوسوم التي تسمح بها باستخدام | + | تحذير: لا تُعدِّل هذه الدالة أي خاصيات تابعة للوسوم التي تسمح بها باستخدام <code>allowable_tags</code>، بما في ذلك الخاصية <code>onmouseover</code> التي قد يستعملها مستخدم مؤذٍ عند نشر النص الذي سيُعرَض للمستخدمين الآخرين. |
− | ملاحظة: سيُتَعَامَل مع أسماء العلامات في HTML المدخلة التي يزيد طولها عن 1023 بايت كما لو كانت غير صالحة، بغض النظر عن المعامل allowable_tags. | + | ملاحظة: سيُتَعَامَل مع أسماء العلامات في HTML المدخلة التي يزيد طولها عن 1023 بايت كما لو كانت غير صالحة، بغض النظر عن المعامل <code>allowable_tags</code>. |
== انظر أيضًا == | == انظر أيضًا == | ||
− | * الدالة htmlspecialchars(): تحويل الأحرف الخاصة إلى مدخلات HTML. | + | * الدالة <code>[[PHP/htmlspecialchars|htmlspecialchars()]]</code>: تحويل الأحرف الخاصة إلى مدخلات HTML. |
== مصادر == | == مصادر == |
المراجعة الحالية بتاريخ 13:44، 9 أبريل 2018
(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.