การค้นหาและแทนที่ข้อความ

PHP:
การค้นหาและแทนที่ข้อความ

วิธีการ:

นี่คือวิธีง่ายๆในการแทนที่ ‘cat’ ด้วย ‘dog’ ในประโยคโดยใช้ PHP:

<?php
$text = 'The quick brown fox jumps over the lazy cat';
$replacedText = str_replace('cat', 'dog', $text);

echo $replacedText;
?>

ผลลัพธ์ตัวอย่าง:

The quick brown fox jumps over the lazy dog

ตอนนี้, สมมติว่าเรากำลังจัดการกับการแทนที่ที่ไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก:

<?php
$text = 'Catapults are CATegorically amazing!';
$replacedText = str_ireplace('cat', 'dog', $text);

echo $replacedText;
?>

ผลลัพธ์ตัวอย่าง:

Dogapults are DOGegorically amazing!

ดำดิ่งลึกลงไป:

ฟังก์ชันค้นหาและแทนที่มีมาตั้งแต่ช่วงต้นของการคอมพิวเตอร์ — นึกถึง sed ใน Unix ใน PHP, str_replace และ str_ireplace เป็นตัวเลือกหลักสำหรับการค้นหาและแทนที่แบบง่าย str_replace นั้นคำนึงถึงตัวพิมพ์ใหญ่เล็ก ในขณะที่ str_ireplace ไม่เป็นเช่นนั้น

ทำงานอย่างไร? โดยรวมแล้ว, ทั้งสองฟังก์ชันตรวจสอบแต่ละส่วนของสตริง, ค้นหาการจับคู่ และทำการแทนที่ พวกเขาจัดการกับอาเรย์ด้วย, ดังนั้นคุณสามารถค้นหาและแทนที่แพทเทิร์นหลายๆอย่างในครั้งเดียว

ตอนนี้, ถ้าคุณต้องการควบคุมมากขึ้น, เช่น การจับคู่แพทเทิร์น, คุณจะต้องการใช้ preg_replace ซึ่งใช้ regular expressions, นำเสนอความยืดหยุ่นและความแม่นยำมากขึ้น:

<?php
$text = 'The quick brown fox jumps over the lazy cat 7 times.';
$replacedText = preg_replace('/\bcat\b/i', 'dog', $text);

echo $replacedText;
?>

ผลลัพธ์ตัวอย่าง:

The quick brown fox jumps over the lazy dog 7 times.

การแทนที่นี้เปลี่ยน ‘cat’ ด้วย ‘dog’, ละเว้นตัวพิมพ์ใหญ่เล็ก (/i ตัวแก้ไข), และจับคำทั้งหมดเท่านั้น (\b ขอบเขตของคำ).

ดูเพิ่มเติมที่: