str_replace()
函數是 PHP 中用于替換字符串中特定值的一個簡單函數。它接受三個參數:需要被替換的舊值,需要替換的新值以及原始字符串。下面是一個例子:
<?php
$original_string = "Hello, {username}! Welcome to {website}.";
$old_value = "{username}";
$new_value = "John";
$website_value = "PHP Academy";
$result = str_replace($old_value, $new_value, $original_string);
$result = str_replace("{website}", $website_value, $result);
echo $result; // 輸出: Hello, John! Welcome to PHP Academy.
?>
在這個例子中,我們使用 str_replace()
函數兩次。首先,我們將 {username}
替換為 “John”。然后,我們將 {website}
替換為 “PHP Academy”。
如果你需要處理更復雜的格式,例如嵌套的占位符或者多個相同的占位符,你可能需要使用正則表達式和 preg_replace()
函數。下面是一個處理嵌套占位符的例子:
<?php
$original_string = "Hello, {user1}! Welcome to {website}. Today is {day}.";
$pattern = '/{(\w+)}/';
$replacement = function ($matches) {
$key = $matches[1];
switch ($key) {
case 'user1':
return 'John';
case 'day':
return 'Monday';
default:
return $matches[0];
}
};
$result = preg_replace_callback($pattern, $replacement, $original_string);
echo $result; // 輸出: Hello, John! Welcome to PHP Academy. Today is Monday.
?>
在這個例子中,我們使用了正則表達式 /{(\w+)}/
來匹配占位符,并使用 preg_replace_callback()
函數和一個回調函數來處理替換。這使得我們可以更靈活地處理復雜的字符串格式。