PHP htmlentities() ফাংশন

উদাহরণ

অক্ষরগুলিকে HTML ইমটেন্টি রূপান্তর করুন:

<?php
$str = "<? W3S?h????>";
echo htmlentities($str);
?>

এই কোডের HTML আউটপুটটি হলো (সোর্স কোড দেখুন):

<!DOCTYPE html>
<html>
<body>
<© W3Sçh°°¦§>
</body>
</html>

এই কোডের ব্রাউজার আউটপুটটি হলোঃ

<? W3S?h????>

বর্ণনা ও ব্যবহার

htmlentities() ফাংশন অক্ষরকে HTML এনটিটি কোডে পরিবর্তন করে।

সুঝাওয়া:একসঙ্গে HTML এনটিটি কোডকে অক্ষরে পরিবর্তন করতে হলে ফাংশনটি ব্যবহার করুন html_entity_decode() ফাংশন।

সুঝাওয়া:ব্যবহার করুন get_html_translation_table() ফাংশন যা htmlentities() ব্যবহৃত অনুবাদ তালিকা ফিরিয়ে দেয়।

সিন্ট্যাক্স

htmlentities(string,flags,character-set,double_encode)
পারামিটার বর্ণনা
string অত্যাবশ্যকীয়।পরিবর্তন করতে হওয়া স্ট্রিং নির্দিষ্ট করা।
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; হিসাবে প্রতিস্থাপন করা।

ব্যবহারকৃত ডকুমেন্ট ধরনের অতিক্রম ফ্ল্যাগসমূহ নির্দিষ্ট করা:

  • ENT_HTML401 - ডিফল্ট।একসঙ্গে HTML 4.01 হিসাবে প্রক্রিয়াকরণ করা।
  • ENT_HTML5 - একসঙ্গে HTML 5 হিসাবে প্রক্রিয়াকরণ করা।
  • ENT_XML1 - একসঙ্গে XML 1 হিসাবে প্রক্রিয়াকরণ করা।
  • ENT_XHTML - একসঙ্গে XHTML হিসাবে প্রক্রিয়াকরণ করা।
character-set

বাছাইয়াত।একটি স্ট্রিং যা ব্যবহারকৃত হওয়া অক্ষরসমষ্টিকে নির্দিষ্ট করে。

অনুমতিপ্রাপ্ত মান:

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

মন্তব্য:PHP 5.4-র পূর্ববর্তী সংস্করণগুলিতে, অনুপ্রেরণিত চারিত্র্য সংকেতগুলি ইগনোর করা হয় এবং ISO-8859-1-এ পরিবর্তন করা হয়।PHP 5.4-এ, অনুপ্রেরণিত চারিত্র্য সংকেতগুলি ইগনোর করা হয় এবং UTF-8-এ পরিবর্তন করা হয়。

double_encode

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

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

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

ফলাফল:

রূপান্তরিত স্ট্রিং ফিরিয়ে দেয়。

যদি 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 htmlentities($str, ENT_COMPAT); // শুধুমাত্র ডবল কোট রূপান্তর
echo "<br>";
echo htmlentities($str, ENT_QUOTES); // ডবল কোট এবং একক কোট রূপান্তর
echo "<br>";
echo htmlentities($str, ENT_NOQUOTES); // কোনও কোটকেই রূপান্তর করবে না
?>

এই কোডের HTML আউটপুটটি হলো (সোর্স কোড দেখুন):

<!DOCTYPE html>
<html>
<body>
Bill & 'Steve'<br>
Bill & 'Tarzan'<br>
Bill & 'Steve'
</body>
</html>

এই কোডের ব্রাউজার আউটপুটটি হলোঃ

Bill & 'Steve'
Bill & 'Steve'
Bill & 'Steve'

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

উদাহরণ 2

Western European চারিত্রিক সংকেতপট ব্যবহার করে, কিছু চারিত্রিক একককে HTML এক্টিভ হিসাবে রূপান্তর করা হয়:

<?php
$str = "My name is Øyvind Øsane. I'm Norwegian.";
echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); 
// শুধুমাত্র ডবল কোট (একক কোট নয়), এবং Western European চারিত্রিক সংকেতপটের ব্যবহার করে
?>

এই কোডের HTML আউটপুটটি হলো (সোর্স কোড দেখুন):

<!DOCTYPE html>
<html>
<body>
আমার নাম Øyvind Øsane।আমি নরওয়েজিয়ান হয়েছি。
</body>
</html>

এই কোডের ব্রাউজার আউটপুটটি হলোঃ

আমার নাম Øyvind Øsane।আমি নরওয়েজিয়ান হয়েছি。

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