ต้องการใช้คำสั่ง preg_replace เพื่อแทนที่คำ หรือตัวอักษร แต่ต้องการกำหนดได้แบบหลายคำ เช่น ดินสอ เป็น Pencil และหนังสือ เป็น Book ปัจจุบันใส่คำสั่ง preg_replace เท่ากับจำนวนคำ ต้องการวิธีที่ง่าย และสะดวกกว่านี้ โค้ดตัวอย่างตามด้านล่าง
<?php
$data = "ดินสอ หนังสือ";
$data = preg_replace('/ดินสอ/', 'Pencil', $data);
$data = preg_replace('/หนังสือ/', 'Book', $data);
echo $data;
?>
วิธีแก้ไข
แนะนำให้ใช้คำสั่ง preg_replace ร่วมกับตัวแปรชนิด array รูปแบบการเขียนเหมือนเดิม แค่เปลี่ยน parameters ตัวที่หนึ่ง และสอง ให้เป็น array ระบุจำนวนคำที่ต้องการแทนที่เท่ากับคำที่ต้องการใช้งาน สามารถเขียนโปรแกรมได้ดังนี้
<?php
$v = "ดินสอ หนังสือ";
$v = preg_replace(
array('/ดินสอ/', '/หนังสือ/'),
array('Pencil', 'Book'),
$v
);
echo $v;
?>
ผลลัพธ์
Pencil Book