Page 1 of 1

addslashes(), stripslashes(), htmlspecialchars() และ htmlspecialchars_decode() ต่างกันอย่างไร

Posted: 03/08/2019 7:14 pm
by jamepiyawat
สำหรับใครที่กำลังศึกษา php อยู่ล่ะก็คงจะเคยเห็นคำสั่งไหนซ่ักคำสั่งกันมาบ้างแล้วเพราะว่าเป็นคำสั่งที่น่าจะถูกเอามาเรียกใช่ในงานไหนซักงานนหนึ่งนี่แหละวันนี้เราก็จะมาอธบายการว่าคำสั่ง addslashes(), stripslashes(), htmlspecialchars() และ htmlspecialchars_decode() ต่างกันอย่างไร ลองไปดูกันเลย

addslashes() ใช้สำหรับเพิ่มตัวเครื่องหมาย backslashes (\) ขึ้นมาก่อนที่จะมีเครื่องหมายพิเศษต่าง ๆ เช่น (') single quote หรือ (") double quote

stripslashes() ก็จะทำงานตรงกันข้ามกับ addslashes() นั้นก็คือ มีไว้สำหรับตัดตัว backslashes (\) ออกไปจากข้อความของเรา

htmlspecialchars() เป็นฟังก์ชั่นที่ใช้สำหรับแปลงโค้ด html ที่ผู้ใช้ป้อนเข้ามาให็เป็น String ทั้งหมด

htmlspecialchars_decode() ก็จะทำงานตรงกันข้ามกับ htmlspecialchars() คือการแปลงจากโค้ด HTML กลับมาเป็นให้ออกมาเป็นคำสั่ง HTML

ตัวอย่าง

Code: Select all

<?php
$str
="I'm ok";
echo "คำสั่ง addslashes()<br>";
echo "ค่าปกติ"." ".":"." ".$str."<br>";
echo "เมื่อใช้คำสั่ง addslashes()"." ".":"." ".addslashes($str)."<br><br>";

echo "คำสั่ง stripslashes()<br>";
echo "ค่าปกติ"." ".":"." ".$str."<br>";
echo "เมื่อใช้คำสั่ง stripslashes()"." ".":"." ".stripslashes($str)."<br><br>";
?>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <?php  $str2="<a href='https://www.youtube.com/watch?v=1k9uvhTw9Fc'>'ชาไข่มุก</a>";?>
  </head>
  <body>
    <?php echo "คำสั่ง htmlspecialchars()<br>";  ?>
    <?php echo "ค่าปกติ"." ".":"." ".$str2."<br>"; ?>
    <?php echo "เมื่อใช้คำสั่ง htmlspecialchars"." ".":"." ".htmlspecialchars($str2)."<br><br>"; ?>

    <?php echo "คำสั่ง htmlspecialchars_decode()<br>";  ?>
    <?php echo "ค่าจาก htmlspecialchars()"." ".":"." ".htmlspecialchars($str2)."<br>"; ?>
    <?php echo "เมื่อใช้คำสั่ง htmlspecialchars_decode"." ".":"." ".htmlspecialchars_decode($str2)."<br><br>"; ?>
  </body>
</html>


ผลลัทธ์ที่ได้

Selection_999(323).png
Selection_999(323).png (42.14 KiB) Viewed 104 times


เป็นอย่างไรกันบ้างสำหรับการใช้งานแต่ละคำสั่งหวังว่าจะเข้าใจกันนะครับก็หวังว่าบทความนี้จะเป็นความรู้ให้กับผู้ที่เข้ามาอ่านกันไม่มากก็น้อยนะครับ