มีหลายๆครั้ง ที่เขียนระบบ Template แล้วแทรก ต้องแทรกตัวอักษรพิเศษ เพิ่อใช้โปรแกรม Php แทรกข้อความแทนตัวอักษรพิเศษเหล่านั้นโดยการใช้คำสั้ง str_replace
$text = “สวัสดีครับผมชื่อ _NAME_”;
$name = “vin”;$text = str_replace(“_TAG_”, $name, $text);
echo $text;
// สวัสดีครับผมชื่อ vin
แต่ถ้ามีหลายๆ อักษรพิเศษที่เราต้องการจะแทรกใน HTML ละ?
เราต้องกำหนด str_replace 1 บรรทัด ต่อ 1 อักษรพิเศษทีตั้งไว้ (แต่วิธีนี้ปลอดภัยสุดนะ)
แก้ปัญหาโดนใส่ $str ไปใน Text ซะเลย ง่ายดี แต่จะทำยังไงให้ $str ที่อยู่ในรูปแบบ text กลับมาใช้งานได้อีกครั้ง
นั้นคือใช้คำสั่ง preg_replace ซึ่งมันจะสามารถทำให้ $str ใน text กลับมาใช้งานได้อีกครั้ง
$text = “สวัสดีครับผมชื่อ $name อายุ $old เป็นคน $local”;
$name = “vin”;
$old = “30”;
$local = “ไทย”;$text = preg_replace(‘/\$(\w+)/e’, ‘$GLOBALS[“\\1”]’, $text);
echo $text;
// สวัสดีครับผมชื่อ vin อายุ 30 เป็นคน ไทย
ทีนี้ก็กำหนด $str ใน text ได้อย่างมากมาย