PHP htmlspecialchars() ফাংশন

উদাহরণ

প্রকল্পিত চরিত্র "<" (ছোটদা) এবং ">" (বড়দা) এনটিটিকে HTML এনটিটি হিসাবে পরিবর্তন করুন:

<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>

উপরোক্ত কোডের HTML আউটপুট নিম্নরূপ (সোর্স কোড দেখুন):

<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>

উপরোক্ত কোডের ব্রাউজার আউটপুটঃ

This is some <b>bold</b> text.

চলনী ইনস্ট্যান্স

সংজ্ঞা ও ব্যবহার

htmlspecialchars() ফাংশন প্রকল্পিত চরিত্রকে HTML এনটিটি হিসাবে পরিবর্তন করে。

প্রকল্পিত চরিত্রগুলো হল:

  • & (অথবা) হয়েছে &
  • " (ডবল কোটা) হয়েছে "
  • ' (সিঙ্গল কোটা) হয়েছে '
  • < (ছোটদা) হয়েছে <
  • > (বড়দা) হয়েছে >

সুঝাওয়া:বিশেষ HTML এনটিটির চরিত্রকে চরিত্রে প্রতিস্থাপন করতে, এটা ব্যবহার করুন htmlspecialchars_decode() ফাংশন

সিনট্যাক্স

htmlspecialchars(স্ট্রিং,flags,character-set,double_encode)
পারামিটার বর্ণনা
স্ট্রিং অপরিহার্য।পরিবর্তন করতে হলে স্ট্রিংকে নির্দিষ্ট করুন。
flags

অপশনাল।ইঞ্জিউজ, অবৈধ এনকোডকে কিভাবে এবং কোনও ডকুমেন্ট ধরন ব্যবহার করা হবে নির্দিষ্ট করুন。

ব্যবহৃত ইঞ্জিউজের ধরন:

  • ENT_COMPAT - ডিফল্ট।মাত্র ডবল ইঞ্জিউজকে এনকোড করুন。
  • ENT_QUOTES - ডবল এবং সিঙ্গল ইঞ্জিউজকে এনকোড করুন。
  • ENT_NOQUOTES - কোনও ইঞ্জিউজ এনকোড না করুন。

অবৈধ এনকোড:

  • ENT_IGNORE - অবৈধ এনকোডকে নিখোঁজ করুন, না তাকা ফাংশনটি একটি খালি স্ট্রিং ফিরিয়ে দিয়ে। এটা বেশ কিছুটা সুরক্ষিত হতে পারে, তাই এটা নিশ্চিতভাবে বাতিল করা উচিত।
  • ENT_SUBSTITUTE - অবৈধ এনকোডকে একটি নির্দিষ্ট Unicode প্রতিস্থাপন অক্ষর U+FFFD (UTF-8) বা &#FFFD; সহ একটি অক্ষর দিয়ে প্রতিস্থাপন করুন, না তাকা একটি খালি স্ট্রিং ফিরিয়ে দিয়ে।
  • ENT_DISALLOWED - নির্দিষ্ট ডকুমেন্ট ধরনের অবৈধ কোডপয়েন্টকে Unicode প্রতিস্থাপন অক্ষর U+FFFD (UTF-8) বা &#FFFD; হিসাবে প্রতিস্থাপন করুন。

ব্যবহার করা হবে চার্য সমূহের অতিরিক্ত flags:

  • ENT_HTML401 - ডিফল্ট।HTML 4.01-এর মাধ্যমে কোডকে পরিবর্তন করা
  • ENT_HTML5 - HTML 5-এর মাধ্যমে কোডকে পরিবর্তন করা
  • ENT_XML1 - XML 1-এর মাধ্যমে কোডকে পরিবর্তন করা
  • ENT_XHTML - XHTML-এর মাধ্যমে কোডকে পরিবর্তন করা
character-set

অপশনাল।একটি স্ট্রিং, যা ব্যবহার করা হবে চার্য সমূহ

অনুমদিত মান:

  • UTF-8 - ডিফল্ট।ASCII-র সমর্থন করা ৮ বাইটের Unicode
  • ISO-8859-1 - Western European
  • ISO-8859-15 - Western European (ইউরো সিগন্য যোগ করা ISO-8859-1-এর মধ্যে ফরাসি এবং ফিনল্যান্ডীয় চার্য সমূহ)
  • cp866 - DOS-এর ব্যবহৃত Cyrillic চার্য সমূহ
  • cp1251 - Windows-এর ব্যবহৃত Cyrillic চার্য সমূহ
  • cp1252 - Windows-এর ব্যবহৃত Western European চার্য সমূহ
  • KOI8-R - রাশিয়ান
  • BIG5 - সংক্ষিপ্ত চীনা, প্রধানত তাইওয়ানে ব্যবহৃত
  • GB2312 - সংক্ষিপ্ত চীনা, জাতীয় প্রমাণপত্র চার্য সমূহ
  • BIG5-HKSCS - হংকংগুলির সম্প্রসারিত Big5
  • Shift_JIS - জাপানি
  • EUC-JP - জাপানি
  • MacRoman - Mac অপারেটিং সিস্টেম ব্যবহৃত চার্য সমূহ

মন্তব্য:এফএইচপিই ৫.৪-র পূর্বের সংস্করণগুলিতে, পরিচিত হতে পারবে না যাওয়া চার্য সমূহকে ইউনিকোড-৮৮৫৯-১-এর মাধ্যমে অবমূল্যায়ন করা হবে।এফএইচপিই ৫.৪-র পর থেকে, পরিচিত হতে পারবে না যাওয়া চার্য সমূহকে ইউনিকোড-৮৮৫৯-১-এর মাধ্যমে অবমূল্যায়ন করা হবে

double_encode

অপশনাল।বলীয় মান, যা পূর্ববর্তী HTML এনটিটিকে এনকোড করবে কিনা নির্ধারণ করে

  • TRUE - ডিফল্ট।প্রত্যেক এনটিটিকে পরিবর্তন করবে
  • FALSE - পূর্ববর্তী HTML এনটিটি কোডকে এনকোড করবে না

প্রযুক্তিগত বিবরণ

ফলাফল:

পরিবর্তিত স্ট্রিং ফিরিয়ে দেওয়া হবে

যদি স্ট্রিং অবৈধ এনকোডিং সমূহ অন্তর্ভুক্ত থাকলে, একটি খালি স্ট্রিং ফিরিয়ে দেওয়া হবে, যদি এনটি_IGNORER বা ENT_SUBSTITUTE সিগন্য সমূহ সম্প্রীতি করা হয়নি

PHP সংস্করণ: 4+
অপদান সূচী:

এফএইচপিই ৫-তেcharacter-set প্রবন্ধকের ডিফল্ট মান UTF-8-এ পরিবর্তন করা হয়েছে

এফএইচপিই ৫.৪-তে, ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 এবং ENT_XHTML যোগ করা হয়েছে

এফএইচপিই ৫.৩-তে, ENT_IGNORE যোগ করা হয়েছে

এফএইচপিই ৫.২.৩-তে, নতুন কিছু যোগ করা হয়েছে 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>
আমি "PHP"-কে ভালোবাসি।
</body>
</html>

উপরোক্ত কোডের ব্রাউজার আউটপুটঃ

আমি "PHP"-কে ভালোবাসি।

চলনী ইনস্ট্যান্স