2016-12-04 23 views
1

更換不準確的話,我有這個問題更換一個字,但它代替其他更換確切的詞不與str_replace函數

$dbword = 'test text lorem ipsum ext'; 
$var1 = str_replace($dbword, 'ext', $var); 
$var1 = str_replace($$dbword, 'text', $var1); 

我要替換的文本,而不安排行,因爲內線和文本字都來自數據庫,排序查詢不是我最好的方式。

我怎樣才能替換單詞而不改變看起來像一個字?請幫助在此先感謝

+0

不要使用str_replace()函數,使用[的preg_replace()](http://www.php.net/manual/en/ function.preg-replace.php),因爲它允許你檢查單詞邊界 –

+0

我怎麼用preg_replace()先生來做到這一點? :(我不知道如何使用正則表達式 –

回答

1

你應該使用的preg_replace像:

$dbword = 'test text lorem ipsum ext'; 
$rplc = 'replaced'; 
$pattern = '/\bext\b/u'; 
$ret = preg_replace($pattern,$rplc,$dbword);//test text lorem ipsum replaced 
$pattern2 = '/\btext\b/u'; 
$ret2 = preg_replace($pattern2,$rplc,$dbword);//test replaced lorem ipsum ext