我想要做的是想在数据库中保存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" />
答案 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()函数...
这不是一个好主意,但它可以达到你想要的效果。