【问题标题】:Is it possible to style a printf output?是否可以设置 printf 输出的样式?
【发布时间】:2014-05-12 07:17:16
【问题描述】:

我想设置 printf 行的样式。

printf("- %d ". $maand ." & %d " . $dag , $months, $days);

假设我希望这条线作为输出是红色的。我怎样才能做到这一点? 我认为它需要是这样的。

printf("<font style="color:red;">- %d ". $maand ." & %d " . $dag , $months, $days"</font>");

martincarlin87 的答案似乎有效,但当我使用两个 printf 语句并希望像这样设置其中一个语句时,我无法使其工作:

<?(strtotime($date1) > strtotime($date2)) ? `printf("%d " . $maand . " & %d " . $dag , $months, $days) :  '<div class="red">'
    <?php printf("- %d ". $maand ." & %d " . $dag , $months, $days); ?>
'</div>'?>

【问题讨论】:

  • 两个小注释,很OT,但可能对您有所帮助:尽量避免混合使用荷兰语和英语变量名。可能会很混乱,尤其是对于非荷兰人。经验法则:用英语编写所有代码。注意 2:尽量避免使用简码语法 (&lt;?)。在所有情况下都使用&lt;?php。这增加了清晰度(关于此问题的争论从下面的 1...2...3...开始),并且在某些服务器上无法识别短代码。
  • 你说得对。但这是由另一位开发人员用两种语言编写的。但我想在未来改变这一切:)

标签: php styles printf


【解决方案1】:

HTML

<div class="red">
    <?php printf("- %d ". $maand ." & %d " . $dag , $months, $days); ?>
</div>

CSS

.red {
    color: red;
}

font 标签在 HTML5 中已弃用。

编辑

试试这个你的三元if

<?(strtotime($date1) > strtotime($date2)) ? printf("%d " . $maand . " & %d " . $dag , $months, $days) :  printf("<div class=\"red\">- %d ". $maand ." & %d " . $dag . "</div>" , $months, $days) . '' ?>

【讨论】:

  • 这似乎有效,但当我在 php 代码中执行此操作时,它似乎不起作用。我已经对我的问题进行了编辑,希望你能帮助我。
  • 它不会在输出周围放置
    标签:(
【解决方案2】:

我就是这样做的:)

PHP:

<?php 

    $val1 = "Hello ";
    $val2 = "World!";

    printf('%s %s %s %s', $val1, '<span class="green">', $val2, '</span>');

?>

CSS:

.green {
    color: #8AD17A; //green
}

输出:

hello world text with "world" changed to the color green

【讨论】:

    【解决方案3】:

    不,没有办法。但是你可以使用 sprintf() 来返回字符串。

     echo '<font style="color:red;">'.sprintf("- %d ". $maand ." & %d " . $dag , $months, $days).'</font>';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 2019-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      相关资源
      最近更新 更多