الفرق بين ()htmlentities و ()htmlspecialchars في لغة PHP
في هذه المقالة ، سنرى ما هي وظيفة ()htmlentities و ()htmlspecialchars
الدالة ()htmlentities:
هي دالة مضمنة في PHP تُستخدم لتحويل جميع الأحرف التي تنطبق على كيانات HTML. تقوم هذه الوظيفة بتحويل جميع الأحرف التي تنطبق على كيانات HTML ولها الشكل العام التالي:
string htmlspecialchars( $string, $flags, $encoding, $double_encode )
تقبل هذه الوظيفة أربعة بارامترات وترجع السلسلة التي تم تشفيرها وإليك دلالة هذه البارامترات:
$string: يستخدم هذا البارامتر للاحتفاظ بسلسلة الإدخال.
$flags: يستخدم هذا البارامتر لتحديد كيفية التعامل مع علامات الاقتباس.
$encoding: هو وسيط اختياري يحدد الترميز المستخدم عند تحويل الأحرف، إذا لم يتم تقديم الترميز ، فسيتم تحويله وفقًا لإصدار PHP الافتراضي.
$double_encode: إذا تم إيقاف تشغيل double_encode، فلن تقوم PHP بتشفير كيانات HTML الحالية، الافتراضي هو تحويل كل شيء.
مثال: يستخدم هذا المثال الدالة ()htmlentities لتحويل جميع الأحرف التي تنطبق على كيانات HTML.
<?php
// String convertible to htmlentities
$str = '<a href="https://waelaminit.blogspot.com">WAELIT</a>';
// It will convert htmlentities and print them
echo htmlentities( $str );
?>
الناتج هو
<a href="https://waelaminit.blogspot.com">WAELIT</a>
الدالة ()htmlspecialchars:
هي دالة مضمنة في PHP تُستخدم لتحويل جميع الأحرف المحددة مسبقًا إلى كيانات HTML، ولها الشكل العام التالي:
string htmlspecialchars( $string, $flags, $encoding, $double_encode )
تعيد هذه الدالة السلسلة المحولة، إذا كان هناك سلسلة إدخال غير صالحة فسيتم إرجاع سلسلة فارغة، وتأخذ 4 بارامترات وفيما يلي دلالة هذه البارامترات:
$string: تستخدم هذه المعلمة للاحتفاظ بسلسلة الإدخال.
$flags: يحدد كيفية التعامل مع علامات الاقتباس.
$encoding: هو وسيط اختياري يحدد الترميز المستخدم عند تحويل الأحرف، إذا لم يتم تقديم الترميز، فسيتم تحويله وفقًا لإصدار PHP الافتراضي.
$double_encode: إذا تم إيقاف تشغيل double_encode، فلن تقوم PHP بتشفير كيانات HTML الحالية، الافتراضي هو تحويل كل شيء.
مثال: يستخدم هذا المثال الدالة ()htmlspecialchars لتحويل كل الأحرف المحددة مسبقًا إلى كيانات HTML.
<?php
// String to be converted
$str = ' "https://waelaminit.blogspot.com/" BLOG OF WAEL AMIN';
// Converts double and single quotes
echo htmlspecialchars($str, ENT_QUOTES);
?>
Output:
"https://waelaminit.blogspot.com/" BLOG OF WAEL AMIN
الفرق بين دالة ()htmlentities و ()htmlspecialchars:
الاختلاف الوحيد بين هذه الوظيفة هو أن دالة ()htmlspecialchars تحول الأحرف الخاصة إلى HTML
بينما تقوم دالة ()htmlentities بتحويل جميع الأحرف القابلة للتطبيق إلى HTML.