我正在运行一个sql查询,它将根据用户的语言设置用值替换模板的占位符。例如,如果他选择了“en\u us”,那么我的php应该从replacements表中选择“en\u us”列。现在我试过了。比如:
while($row = $result->fetch_object())
{
$html = str_replace("{" . $row->origin . "}", $row->$user->getLanguage(), $html);
}
但这行不通。有人知道如何做到这一点吗?方法 $user->getLanguage()
返回一个包含“en\u us”的字符串。
我的html(只是一个模板文件):
<head>
<meta charset="{CHARSET}" />
<base href="{BASE}" />
<meta name="version" conent="{VERSION}" />
<title>{TITLE}{TITLE_STD}</title>
<meta name="description" content="{DESCRIPTION}" />
<meta name="keywords" content="{KEYWORDS}" />
<meta name="author" content="{AUTHOR}" />
<link rel="favicon" href="{FAVICON}" />
<meta name="theme-color" content="#2d2d2d" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato|Roboto|Montserrat" />
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
<link rel="stylesheet" href="/css/desk/core.css" />
<link rel="stylesheet" href="/css/desk/header.css" />
<link rel="stylesheet" href="/css/desk/aside.css" />
<link rel="stylesheet" href="/css/desk/main.css" />
<link rel="stylesheet" href="/css/desk/popups.css" />
<script src="/js/jQuery/min.js"></script>
<script src="/js/include.js"></script>
我的错误消息是:可恢复的致命错误:类用户的对象无法转换为字符串。。。在线。。。
1条答案
按热度按时间s2j5cfk01#
如果我正确理解您的问题,您需要强制php取消引用
$user->getLanguage()
首先,然后在取消引用时使用该值$row
. 您可以像在数学表达式中使用括号一样简单地使用括号: