僅用str_replace 取代第一次出現
雖然沒有內建的str_replace 函數將其替換限制為第一次出現,但相對來說,有簡單的解決方案,無需訴諸複雜的駭客手段。
要實現這一點,利用 strpos 函數來定位子字串在主字串中的位置。識別後,使用 substr_replace 修改原始字串,指定子字串的出現位置和長度。此方法可以有效地取代第一個符合項,而無需正規表示式的開銷。
程式碼範例:
$haystack = "This is a sample string"; $needle = "is"; $replace = "was"; $pos = strpos($haystack, $needle); if ($pos !== false) { $newstring = substr_replace($haystack, $replace, $pos, strlen($needle)); } echo $newstring; // Output: "This was a sample string"
獎勵: 當最後一個出現時,將 strpos 替換為 strrpos:
$pos = strrpos($haystack, $needle); if ($pos !== false) { $newstring = substr_replace($haystack, $replace, $pos, strlen($needle)); }
以上是如何在 PHP 中僅替換第一次(或最後一次)出現的子字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!