我確實遇到了問題,在我的情況下,我選擇了 將MYSQL數據庫中的信息保存到$ data中。preg_replace用於替換變量的所有內容
和我有2個數組preg_replace。
這是一個例子:
$repl();
$repl[0] = '/bull/';
$repl[1] = '/found/';
$repl[2] = '/search/';
$replto();
$replto[0] = 'This is not a ballon';
$replto[1] = 'This has been found';
$replto[2] = 'Im looking for it';
$data = array();
$data[0] = '/mynickname/search';
$data[1] = '/somebulls/search';
$data[2] = '/mcdo/found';
$data[3] = '/bump/search';
$data[4] = '/blood/bull';
echo preg_replace($repl,$replto,$data);
好,但preg_replace函數的輸出是這樣的:
/mynickname/Im looking for it
/somebulls/Im looking for it
/mcdo/This has been found
/bump/Im looking for it
/blood/This is not a ballon
...但我想這樣的輸出:
Im looking for it
Im looking for it
This has been found
Im looking for it
This is not a ballon
我'新的PHP,我解決了很多問題,但這是一個問題,我還沒有找到解決方案。
你能幫助我嗎?
'strrpos'(http://php.net/strrpos)和'substr'(http://php.net/substr)的組合應該很容易做到。 –
那麼,代碼的工作原理與您的一樣...我認爲您的邏輯在這裏不正確。如果將'search'替換爲'Im正在尋找它',爲什麼你會認爲'/ mynickname/search'會自動刪除mynickname部分?它只是取代你告訴它的那部分。 – Charlie74
哇...很容易?...不適合我,我認爲這只是addnal在「preg_replace」中的一個事情......就像在SQL中使用LIKE中的%一樣。 – user3114471