在条件语句中使用 echo
Using echo within conditional statement
我正在使用条件语句来检查网页使用的语言。当我只需要输出 HTML 时很好,但是我需要翻译的特定行已经有一个回显语句,我不确定如何回显整个语句。
行:
<div class="timer-col"> <span id="days"></span> <span class="timer-type"><?php _e('days', 'framework'); ?></span> </div>
我的代码:
<?php
$mylocale = get_bloginfo('language');
if($mylocale == 'en' || $mylocale == 'en-US') {
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type"><?php _e('days ', 'framework'); ?></span> </div>';
} else {
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type"><?php _e('dien', 'framework'); ?></span> </div>';
}
?>
你试过这个吗:
<?php
$mylocale = get_bloginfo('language');
if($mylocale == 'en' || $mylocale == 'en-US') {
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type">'. _e('days ', 'framework').'</span> </div>';
} else {
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type">'. _e('dien', 'framework').'</span> </div>';
}
?>
您需要像这样编写回显语句:
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type">' . _e("days", "framework") . '</span> </div>';
在 HTML 回显部分使用单引号,在单引号内使用双引号,并且 PHP 与 '.' 连接
另请参阅:PHP echo inside echo
如果这是 WordPress 及其 _e()
函数,您可能希望将回显行分解为类似以下示例的内容:
<?php
$mylocale = get_bloginfo('language');
if($mylocale == 'en' || $mylocale == 'en-US') {
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type">';
_e('days ', 'framework');
echo '</span> </div>';
} else {
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type">';
_e('dien', 'framework');
echo '</span> </div>';
}
?>
这是因为 _e()
不是 return 字符串 (通常可以与字符串连接一起使用)。相反,e()
只是打印出翻译后的文本 (没有 returning 任何内容).
我注意到,如果我尝试在字符串中使用 e()
,我会得到意想不到的放置结果,其中 e()
最终与翻译后的文本相呼应。
我正在使用条件语句来检查网页使用的语言。当我只需要输出 HTML 时很好,但是我需要翻译的特定行已经有一个回显语句,我不确定如何回显整个语句。
行:
<div class="timer-col"> <span id="days"></span> <span class="timer-type"><?php _e('days', 'framework'); ?></span> </div>
我的代码:
<?php
$mylocale = get_bloginfo('language');
if($mylocale == 'en' || $mylocale == 'en-US') {
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type"><?php _e('days ', 'framework'); ?></span> </div>';
} else {
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type"><?php _e('dien', 'framework'); ?></span> </div>';
}
?>
你试过这个吗:
<?php
$mylocale = get_bloginfo('language');
if($mylocale == 'en' || $mylocale == 'en-US') {
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type">'. _e('days ', 'framework').'</span> </div>';
} else {
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type">'. _e('dien', 'framework').'</span> </div>';
}
?>
您需要像这样编写回显语句:
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type">' . _e("days", "framework") . '</span> </div>';
在 HTML 回显部分使用单引号,在单引号内使用双引号,并且 PHP 与 '.' 连接
另请参阅:PHP echo inside echo
如果这是 WordPress 及其 _e()
函数,您可能希望将回显行分解为类似以下示例的内容:
<?php
$mylocale = get_bloginfo('language');
if($mylocale == 'en' || $mylocale == 'en-US') {
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type">';
_e('days ', 'framework');
echo '</span> </div>';
} else {
echo '<div class="timer-col"> <span id="days"></span> <span class="timer-type">';
_e('dien', 'framework');
echo '</span> </div>';
}
?>
这是因为 _e()
不是 return 字符串 (通常可以与字符串连接一起使用)。相反,e()
只是打印出翻译后的文本 (没有 returning 任何内容).
我注意到,如果我尝试在字符串中使用 e()
,我会得到意想不到的放置结果,其中 e()
最终与翻译后的文本相呼应。