[Wiki] Hàm str_replace và preg_replace trong PHP

  • Định nghĩa: cả hai hàm này dùng để thay thế một chuỗi trong cụm chuỗi mà ta chọn. Điểm khác nhau giữa str_replace và preg_replace là str_replace chỉ là thay thế một chuỗi bình thường, giống nhau hoàn toàn ví dụ trong chuỗi abcde ta thay ab thành ce thì nó thay abcde thành cecde. Còn preg_replace thì thay thế chuỗi thông qua regular expressions, ví dụ như abcde ta muốn thay tất cả những chữ ko phải là a thành a thì nó sẽ đọc code đó và thực hiện (mình sẽ viết ở phần ví dụ).

str_replace

  • Cú pháp:

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

  • Tham số:

  • search chuỗi cần thay thế.

  • replace chuỗi thay thế.

  • subject đối tượng thay thế.

  • count Nếu chỉ định, biến này sẽ được lấp đầy với số lượng thay thế thực hiện.

  • Ví dụ:

<?php
// Đổi thành: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");

// Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

// dùng với Array
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy   = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $phrase);
//  You should eat pizza, beer, and ice cream every day

// truyền kết quả vào biến $count
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;

preg_replace

  • Cú pháp:

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ))

  • Tham số:

  • pattern chuỗi tìm.

  • replacement chuỗi thay thế. sử dung $1, //1, /1 để thay thế các cụm Regx trong chuỗi tìm kiếm.

  • subject đối tượng thay thế.

  • ông thay thế tối đa có thể cho mỗi mẫu trong mỗi chuỗi chủ đề. Mặc định là -1 (không giới hạn).

  • count Nếu chỉ định, biến này sẽ được lấp đầy với số lượng thay thế thực hiện.

  • Ví dụ:

$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
?>
  • Kết quả là: April1,2003
<?php
$string = 'The quick brown fox jumped over the lazy dog.';
$patterns = array();
$patterns[0] = '/quick/';
$patterns[1] = '/brown/';
$patterns[2] = '/fox/';
$replacements = array();
$replacements[2] = 'bear';
$replacements[1] = 'black';
$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string);
?>

Kết quả là The bear black slow jumped over the lazy dog.

6 Likes

@kayz Giỏi quá hân ơi :+1:

1 Like

hâm mộ Hân quá. có người đẹp ủng hộ. :loudspeaker: . Nghe mà đã hứng chí bừng bừng rồi. Cố gắng phát huy nhé

2 Likes

hjhj cảm ơn @Nhim_Xu nhé :smiley:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?