all。
我正在处理一个if语句,其中我使用php来检查是否设置了会话语言。如果设置了变量,我将显示一些html,其中html标记上嵌入了它自己的php代码。我已经转义了字符,但仍然没有得到要在html上显示的翻译函数调用响应。如果您能为我提供以下代码方面的任何帮助,我将不胜感激。提前谢谢。
<?php
if((isset($_SESSION['lang'])) && $_SESSION['lang']=='pt'){
echo("<div class='"row'">
<div class='"col col-12'" style='"width:100'% !important'">
<label class='"radio state-success'"><input type='"radio'" name='"chosenMethod'" value='"2'"><i style='"padding-right:0px !important;'">
</i><?php echo getTranslation(''member'');?></label>
</div><br>
<div class='"col col-12'" style='"width:100'% !important'">
<div style='"font-size:90'%'">echo getTranslation(''member_choices'');</div>
</div><br>
</div>");}
?>
替换此行
</i><?php echo getTranslation(''member'');?></label>
带有
</i>" . getTranslation('member') . "</label>
由于您已经在回显语句,;?>
部分被解释为原始php语句的结束标记。
通过使用echo
,您告诉PHP不要执行以下HTML/PHP组合,而是打印。因此,您想要的是
$member=getTranslation('member');
$memberChoices=getTranslation(''member_choices'');
echo "<div class='"row'">
<div class='"col col-12'" style='"width:100'% !important'">
<label class='"radio state-success'"><input type='"radio'" name='"chosenMethod'" value='"2'"><i style='"padding-right:0px !important;'">
</i>$result</label>
</div><br>
<div class='"col col-12'" style='"width:100'% !important'">
<div style='"font-size:90'%'">$memberChoices</div>
</div><br>
</div>";
让我补充一点,这不是最优雅的方式!
如下修复(您在<?php
中使用<?php
,在echo
中使用echo
):
<?php
if((isset($_SESSION['lang'])) && $_SESSION['lang']=='pt'){
$translation = getTranslation(member);
$translation_choice = getTranslation(member_choices);
echo("<div class='"row'">
<div class='"col col-12'" style='"width:100'% !important'">
<label class='"radio state-success'"><input type='"radio'" name='"chosenMethod'" value='"2'"><i style='"padding-right:0px !important;'">
</i>" . $translation . "</label>
</div><br>
<div class='"col col-12'" style='"width:100'% !important'">
<div style='"font-size:90'%'">" . $translation_choice . "</div>
</div><br>
</div>");}
?>