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(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; గా ప్రత్యామ్నాయం చేయండి.

规定使用的文档类型的附加 flags:

  • ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。
  • ENT_HTML5 - 作为 HTML 5 处理代码。
  • ENT_XML1 - 作为 XML 1 处理代码。
  • ENT_XHTML - 作为 XHTML 处理代码。
character-set

可选。一个规定了要使用的字符集的字符串。

అనుమతించబడిన విలువలు:

  • UTF-8 - అప్రమేయం. ASCII కంపాటిబిలిటి గల 8 బిట్ల అక్షరసమితి యొక్క Unicode
  • ISO-8859-1 - విదేశీ
  • ISO-8859-15 - విదేశీ (యూరో సంకేతాలు + ISO-8859-1 లో కాని ఫ్రెంచ్ మరియు ఫిన్నిష్ అక్షరాలను చేర్చబడినది)
  • cp866 - DOS ప్రత్యేక సైరిలిక్ అక్షరసమితి
  • cp1251 - Windows ప్రత్యేక సైరిలిక్ అక్షరసమితి
  • cp1252 - Windows ప్రత్యేక విదేశీ అక్షరసమితి
  • KOI8-R - రష్యన్
  • BIG5 - పొడవైన చైనీస్, ప్రధానంగా తైవాన్ లో ఉపయోగించబడుతుంది
  • GB2312 - లఘుచైనీస్, జాతీయ అక్షరసమితి
  • BIG5-HKSCS - హాంగ్ కాంగ్ విస్తరణలతో ఉన్న BIG5
  • Shift_JIS - జపనీస్
  • EUC-JP - జపనీస్
  • MacRoman - Mac ఆపరేటింగ్ సిస్టమ్ యొక్క అక్షరసమితి

పోస్ట్ మీర్ మాటలు:PHP 5.4 ముంది వెర్షన్లలో, గుర్తించలేని అక్షరసమితిని అనికటవినికి అనుగుణంగా అనువదించబడిన స్ట్రింగ్ ను తిరిగి ఇవ్వబడుతుంది లేక అనువదించబడిన స్ట్రింగ్ ను తిరిగి ఇవ్వబడుతుంది. PHP 5.4 నుండి, గుర్తించలేని అక్షరసమితిని అనికటవినికి అనుగుణంగా అనువదించబడిన స్ట్రింగ్ ను తిరిగి ఇవ్వబడుతుంది లేక అనువదించబడిన స్ట్రింగ్ ను తిరిగి ఇవ్వబడుతుంది.

double_encode

ఎంపికాత్మకం. బౌల్ విలువను నిర్ణయించడం ద్వారా ఇప్పటికే ఉన్న హ్టిమ్ ఎంటిటీస్ ను కోడ్ చేయాలా లేదా కాదు నిర్ణయించబడింది.

  • TRUE - అప్రమేయం. ప్రతి ఎంటిటీని కోడ్ చేయబడుతుంది.
  • FALSE - ఇప్పటికే ఉన్న హ్టిమ్ ఎంటిటీస్ ను కోడ్ చేయబడదు.

సాంకేతిక వివరాలు

తిరిగి ఇవ్వబడిన విలువలు:

అనువదించబడిన స్ట్రింగ్ ను తిరిగి ఇవ్వబడుతుంది.

ఉంటే string అనికటవినికి అనుగుణంగా అనువదించబడిన స్ట్రింగ్ ను తిరిగి ఇవ్వబడుతుంది, అలాగే ఆనువదించబడిన స్ట్రింగ్ ను తిరిగి ఇవ్వబడుతుంది లేక అనువదించబడిన స్ట్రింగ్ ను తిరిగి ఇవ్వబడుతుంది అని సెట్ చేయబడింది లేక అనువదించబడిన స్ట్రింగ్ ను తిరిగి ఇవ్వబడుతుంది.

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>
నేను "PHP" ప్రేమిస్తున్నాను.
</body>
</html>

పై కోడ్ బ్రౌజర్ అవుట్పుట్ యొక్క ఉపసర్గం ఇలా ఉంటుంది:

నేను "PHP" ప్రేమిస్తున్నాను.

పనికి బరచిన ప్రతిస్పందన