2010-04-28 37 views
3

這是我在這個美妙的網站上的第一個問題。PHP中的字符串替換

可以說我有一個字符串$a="some text..%PROD% more text"字符串中只會有一個%..%。我需要在%與另一個可變內容之間替換PROD。所以我以前做的:

$a = str_replace('%PROD%',$var,$a); 

但現在%之間的PROD開始在不同的情況來。所以我可以期待prod或Prod。所以我做了整個字符串大寫之前做替換。但副作用是原始字符串中的其他字母也變爲大寫字母。有人建議我使用正則表達式。但是如何?

感謝,

羅漢

回答

10

您可以使用str_ireplace功能。它與str_replace類似,但在匹配過程中不區分大小寫。

$x = 'xxx'; 
$str = 'abc %Prod% def'; 
$str = str_ireplace('%PROD%',$x,$str); // $str is now "abc xxx def" 
3

你可以使用正則表達式,但PHP也方便有str_replace不區分大小寫的版本,str_ireplace

4

只需使用str_ireplace()。這是一個不區分大小寫的str_replace()版本,對於簡單的替換比正則表達式更有效(也更直接)。