وظيفة PHP htmlspecialchars()
مثال
تحويل الرموز المسبقة المعرفة "<" (أصغر من) و ">" (أكبر من) إلى HTML entities:
<?php $str = "هذا نص <b>مائل</b>."; echo htmlspecialchars($str); ?>
以上代码的 HTML 输出如下(查看源代码):
<!DOCTYPE html> <html> <body> هذا نص <b>مائل</b>. </body> </html>
以上代码的浏览器输出:
هذا نص <b>مائل</b>.
التعريف والاستخدام
تحويل الرموز المسبقة المعرفة إلى HTML entities باستخدام وظيفة htmlspecialchars().
الرموز المسبقة المعرفة هي:
- & (و) يصبح &
- " (قوس مائل مزدوج) يصبح "
- ' (قوس مائل) يصبح '
- < (أصغر من) يصبح <
- > (أكبر من) يصبح >
نصيحة:لتحويل HTML entities الخاصة إلى أحرف، استخدم: htmlspecialchars_decode() الوظيفة.
النص
htmlspecialchars(string,flags,character-set,double_encode)
الإعدادات | الوصف |
---|---|
string | مطلوب. يحدد السلسلة التي سيتم تحويلها. |
flags |
اختياري. يحدد كيفية معالجة القوائم اقتباس والترميز غير الصالح واستخدام نوع المستند. أنواع القوائم المتاحة:
الترميز غير الصالح:
规定使用的文档类型的附加 flags:
|
character-set |
ENT_XHTML - يتم معالجة الكود كـ XHTML. اختياري. بصرية تحدد مجموعة الحروف التي يتم استخدامها.
MacRoman - مجموعة الحروف المستخدمة في نظام التشغيل Macالتعليقات: |
double_encode |
اختياري. قيمة بولية، تحدد ما إذا كان يجب ترميز HTML entities موجودة مسبقًا.
|
تفاصيل تقنية
القيمة المعدة: |
تعود بالبصرية المترجمة. إذا string إذا كانت تحتوي على تشفير غير صالح، فإنها تعود ببصرية فارغة، ما لم يتم تعيين إشارات ENT_IGNORE أو ENT_SUBSTITUTE. |
إصدار PHP: | 4+ |
سجل التحديثات: |
في PHP 5،character-set قيمة المعامل الافتراضية تم تغييرها إلى UTF-8. في PHP 5.4، تم إضافة: ENT_SUBSTITUTE،ENT_DISALLOWED،ENT_HTML401،ENT_HTML5،ENT_XML1 وENT_XHTML. في PHP 5.3، تم إضافة ENT_IGNORE. في PHP 5.2.3، تم إضافة double_encode 参数。 在 PHP 4.1 中,新增了 character-set 参数。 |
更多实例
例子 1
把一些预定义的字符转换为 HTML 实体:
<?php $str = "Bill & 'Steve'"; echo htmlspecialchars($str, ENT_COMPAT); // 只转换双引号 echo "<br>"; echo htmlspecialchars($str, ENT_QUOTES);// 转换双引号和单引号 echo "<br>"; echo htmlspecialchars($str, ENT_NOQUOTES); // 不转换任何引号 ?>
以上代码的 HTML 输出如下(查看源代码):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
以上代码的浏览器输出:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
例子 2
把双引号转换为 HTML 实体:
<?php $str = 'I love "PHP".'; echo htmlspecialchars($str, ENT_QUOTES); // 转换双引号和单引号 ?>
以上代码的 HTML 输出如下(查看源代码):
<!DOCTYPE html> <html> <body> I love "PHP" </body> </html>
以上代码的浏览器输出:
I love "PHP".