Code Tu Tam

Hàm str_replace trong PHP là gì?

5/5 - (1 bình chọn)

Hàm str_replace()  là hàm tìm kiếm và thay thế các ký tự trong chuỗi. Hàm tương thích với PHP4, PHP5, PHP7. Hàm str_replace tương tự với với chức năng replace trong word hay các trình editor như Sublime text.

Cú pháp:

Cú pháp:   str_replace( $strSearch, $strReplace, $subject );

Trong đó: 

Hàm str_replace()  sẽ tìm kiếm các kí tự $strSearch trong chuỗi gốc $subject và thay thế chúng bằng chuỗi kí tự $strReplace.

Mô tả: 

Kết quả trả về:

Kết quả trả về của hàm str_replace() là một chuỗi hoặc một mảng mới với các kí tự, chuỗi kí tự hoặc mảng kí tự đã được thay thế so với chuỗi, mảng kí tự ban đầu.

Ví dụ:

Ví dụ 1: Các tham số $strSearch, $strReplace, $subject đều là chuỗi (String):

<?php
$str = "Tìm hiểu kiến thức lập trình tại codetutam.com";
$strSearch = "lập trình";
$strReplace = "PHP";

$strNew = str_replace($strSearch, $strReplace, $str);

echo $strNew; 
// Kết quả: Tìm hiểu kiến thức PHP tại codetutam.com

Trong ví dụ trên ta đã chuỗi “lập trình” đã được thay thế bằng chuỗi “PHP”.

Ví dụ 2: Các tham số $strSearch, $strReplace, $subject đều là mảng (Array):

<?php
$subject = ['toi', 'dang', 'hoc lap trinh', 'tai codetutam.net'];
$search = ['toi', 'dang', 'hoc lap trinh'];
$replace   = ['ban', 'co', 'hoc php'];
$result = str_replace($search, $replace, $subject);
echo "<pre>";
   print_r($result);
echo "</pre>";

Kết quả:

<pre>Array
(
    [0] => ban
    [1] => co
    [2] => hoc php
    [3] => tai codetutam.net
)
</pre>

Trong ví dụ trên các phần tử trong mảng gốc $subject lần lượt được tìm kiếm với các kí tự trong mảng  $search và được thay thế bằng các phần tử trong mảng $replace .

Ví dụ 3: 

Ví dụ này mình tham khảo trên trang php.net với các tham số $strSearch, $strReplace là các mảng kí tự và $subject là một chuỗi:

<?php
$search  = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);

Kết quả:

F

Các phần tử của mảng $search lần lượt tìm kiếm trong chuỗi $subject và được thay thế lần lượt bằng các phần tử trong mảng $replace và cuỗi cùng phần tử cuối mảng $search là E được thay thế bằng phần tử cuối mảng $replace là F, vậy sau cùng chỉ tồn phần tử F không bị thay thế.

Ví dụ 4: 

Tham số $search là mảng và $replace là chuỗi:

<?php
$subject = 'toi dang hoc, nghien cuu lap trinh tai codetutam.com';
$search = ['hoc', 'nghien cuu'];
$replace   = 'hoc tap';
$result = str_replace($search, $replace, $subject);
echo $result;

Kết quả:
toi dang hoc tap, hoc tap lap trinh tai codetutam.com

trong ví dụ trên lần lượt các phần tử của mảng $search được tìm kiếm và thay thế bằng chuỗi $replace .

Ví dụ 5: 

Tham số $replace  có ít phần tử hơn $search :

<?php
$subject = 'toi dang hoc, nghien cuu lap trinh tai codetutam.com';
$search = ['hoc', 'nghien cuu', 'lap trinh'];
$replace   = ['learn', 'research'];
$result = str_replace($search, $replace, $subject);
echo $result;

Trong ví dụ trên phần tử thứ 3 trong mảng $search là “lap trinh” đã được thay thế bằng một khoảng trắng vì phần thứ 3 tương ứng trong mảng  $replace không tồn tại.

Ví dụ 6: 

Đây là một ví dụ demo sử dụng hàm str_replace() với hàm json_decode() và hàm json_encode(), tham khảo trên trang php.net.

<?php
$search = "A";
$replace = "a";
$subject = array("A","B","C","D","E","F");
// $subject = "ABCDEF";

function str_replace_json($search, $replace, $subject){
     return json_decode(str_replace($search, $replace,  json_encode($subject)));
}
print_r( str_replace_json($search, $replace, $subject) );

Kết quả:

Nếu $subject là mảng kí tự:

Array
(
    [0] => a
    [1] => B
    [2] => C
    [3] => D
    [4] => E
    [5] => F
)

Nếu $subject là chuỗi kí tự:

aBCDEF

Kết luân:

Hi vọng với bài viết này các bạn hiểu rõ được hàm str_replace() trong PHP và các trường hợp sử dụng hàm này.

Nếu bạn thấy bài viết hay và có ý nghĩa, hãy like và chia sẻ với bạn bè để mọi người cùng nhau học tập nhé.

Cảm ơn bạn đã ghé thăm codetutam.com.

 

Exit mobile version