PHP-打印存储为字符串的变量

PHP-打印存储为字符串的变量,php,string,variables,Php,String,Variables,我用HTML和PHP编写了整个网站,但遇到了一个小问题。在几乎完成网站后,我被告知将所有内容放入数据库,而不仅仅是HTML。当我这样做的时候,我注意到当从数据库中获取带有内联PHP变量的文本时,不会被读取 原始代码: <div>Hello <?php echo $World; ?></div> 你好 新代码: <div><?php getContent("title"); ?></div> 我尝试了两种在数据库中存

我用HTML和PHP编写了整个网站,但遇到了一个小问题。在几乎完成网站后,我被告知将所有内容放入数据库,而不仅仅是HTML。当我这样做的时候,我注意到当从数据库中获取带有内联PHP变量的文本时,不会被读取

原始代码:

<div>Hello <?php echo $World; ?></div>
你好 新代码:

<div><?php getContent("title"); ?></div>

我尝试了两种在数据库中存储它们的方法:
第一种方法,文本保存:
Hello

它打印出
Hello
,并忽略变量

第二种方法,文本保存:
Hello$World

它打印出的是
Hello$World
,而不是
$World

我尝试过的其他事情:
Hello$$World
-
Hello$$World


Hello{$World}
-
Hello{$World}
阅读关于
sprintf

echo sprintf(“你好%s”,$World)

并将该
“Hello%s”
存储在数据库中,然后使用
$World
像以前一样

如果您以正确的方式实现它,您可以使您的网站以不同的语言显示

但我认为您应该更多地了解php模板和/或使用php模板引擎

在评论中的注释之后:

有很多!!途径 php来做这件事
Hello
但最终,您只能在数据库中存储真实数据。 没有php代码或html,只有普通数据。其中一个可以是模板,如
Hello%s
其他动态数据,如用户名或其他任何内容。模板引擎可以帮助您以正确的方式完成这一切。(模板大多基于文件)
记住这一点。

您可以在文本中使用占位符,然后使用put将占位符替换为变量

数据库字符串:

<div>Hello WORLD_VAR</div>

所以你认为应该检查数据库中的每个文本是否存在变量?真的吗?您可以查看Smarty之类的模板包,或者使用占位符并使用str_replace替换它们。备受诟病的
eval
也可能对您有所帮助,但我无法验证。天哪,不要使用
eval
!“我被告知要把所有内容放在数据库中,而不仅仅是HTML”是谁告诉我的?去告诉他们他们很愚蠢。你可能应该使用某种模板框架。你不能只把PHP代码放在数据库里,但是其他变量呢?他想将所有PHP内容存储到database.Sry中,我两次点击了
post
,但都没有完成这很好,但问题是,当其他人编辑内容时,如果没有编程经验,他们将无法通过数据库添加自己的变量或修改现有变量,他们将需要访问html文件,并有破坏网站的风险。
$text = str_replace('WORLD_VAR', $World, $text);