渲染来自数据库的php变量

时间:2011-08-24 10:59:18

标签: php mysql

我想要做的是想在数据库中保存php变量(假设{$ baseUrl})并且我在php页面上使用echo命令获取数据,并且在同一页面上我定义了$ baseUrl ='/ public' 。我想获得基本网址的价值,但我只是{$ baseUrl}而不是'/ public'

db中的

我有<img src="{$baseUrl}/img.jpg" />

第一页上的

$baseUrl = "/public";
echo $content

它正在提供<img src="{$baseUrl}/img.jpg /">

如何获得<img src="/public/img.jpg" />

7 个答案:

答案 0 :(得分:2)

我认为你想要做的是替换字符串。变量指针($ baseUrl)是来自数据库的字符串。如果你回应它,它仍然只是一个字符串。你需要做的是这样的事情:

<?php
  echo str_replace('$baseUrl', $baseUrl, $varFromDB); 
?>

或者我理解你的问题错了吗?

答案 1 :(得分:2)

当然。字符串是字符串,而不是PHP代码。你必须自己更换它,例如:

<?php

$baseUrl = '/public';
$string = '<img src="{$baseUrl}/img.jpg" />';

$replacements = array(
    '{$baseUrl}' => $baseUrl,
);

echo strtr($string, $replacements);

答案 2 :(得分:1)

使用

str_replace($content, '{$baseUrl}', $baseUrl)

答案 3 :(得分:0)

您想要评估$baseUrl变量吗?您必须将变量放在字符串定义之外:

echo '<img src="' . $baseUrl . '/img.jpg" />';

或将它放在双引号之间(用双引号括起来的字符串由PHP解析):

echo "<img src=\"{$baseUrl}/img.jpg\" />";

答案 4 :(得分:0)

根据您的评论,您需要此解决方案:

$content = str_replace("{$baseUrl}", $baseUrl, $content);

答案 5 :(得分:0)

我猜你使用了错误的引号:

echo '<img src="{$baseURL}/img.jpg" />';

而不是

echo "<img src='{$baseURL}/img.jpg'/>";

答案 6 :(得分:-1)

您可能想要使用eval()函数...
这不是一个好主意,但它可以达到你想要的效果。