2014-01-17 85 views
0
在數據庫中,我存儲

動態鏈接這樣替換mysql的PHP變量取串

http://{$site}.com/{$username} 

和PHP文件

$site = google.com;$username = 2; 

但是,當我從數據庫中獲取它不與PHP變量它只需更換作爲

http://{$site}.com/{$username} 

輸出我試着preg_replace('/\{\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\}/e', "$$1", $row['url']); 但它只是在更換MySQL中的e變量獲取字符串其他保持靜態。

那麼是否有另一種方法來替換{}中的所有值與特定的php變量。

+0

'$ site'不是有效的字符串。也許你應該首先啓用error_reporting .. – Luceos

+0

$站點只是爲了告訴你的人我的問題 –

回答

0

你是如此的VAR值,而不是取代

http://{$site}.com/{$username} 
// not varable {$site} and {$username} 

這讓數據作爲字符串是一個字符串

嘗試插入完整的URL或嘗試

簡單outputing時使用: -

str_replace

$tmpurl = str_replace('{$site}', $site, $row['url']); 
$url = str_replace('{$username}', $username, $tmpurl); 
+0

我必須一次又一次地添加str_replace來替換所有變量是否有其他方式一次替換所有變量。 preg_replace變量一次,但停止後,我不知道爲什麼 –

+0

嘗試str_replace在您的數據fatching循環 –

+0

兄弟str_replace將一次替換一件事,我想使它動態,而不是一次一個地立即所有 –