在PHP中将不同的样式应用于不同的文本行

时间:2011-05-15 10:14:54

标签: php fonts styling

  

可能重复:
  How to get random value out of an array

我有一个代码将随机字体应用于从.txt文件的最后20行获取的文本div。我想对每一行应用不同的随机字体...任何指针?

<?php 

$fonts = array("Helvetica", "Arial", "Courier", "Georgia", "Serif", "Comic Sans", "Tahoma");
shuffle($fonts);
$randomFont = array_shift($fonts);

$output = "";
$lines = array_slice(file("users.txt"), -20, 20);

foreach ( $lines as $line )

{
$output .= '<div style="font-family:' . $randomFont . '; margin-left: ' . rand(0, 60) . '%; opacity: 0.8;">' . $line . '</div>';
}

echo $output;
?> 

3 个答案:

答案 0 :(得分:1)

现场演示here

代码:

$fonts = array("Helvetica", "Arial", "Courier", "Georgia", "Serif", "Comic Sans", "Tahoma");
shuffle($fonts);

$output = "";

$lines = array();
for($i = 0; $i < 40; $i++) $lines[] = "line $i";

$i = 0;
foreach ( $lines as $line ) {
  if($i == count($fonts)) {
    shuffle($fonts);
    $i = 0;
  }
  $output .= '<div style="font-family:' . $fonts[$i] . '; margin-left: ' . rand(0, 60) . '%; opacity: 0.8;">' . $line . "</div>\n";
  $i++;
}

echo $output;

答案 1 :(得分:0)

随机化您的字体:

$Random = $fonts[rand(0, count($fonts) - 1)];

答案 2 :(得分:0)

一直在思考它,并有一个更简单的解决方案。

<?php
$fonts = array ('font 1', 'font 2', 'font 3'); // 20 entries for the full set

shuffle ($fonts);

while ($font = array_pop ($fonts))
{
    $output .= '<div style="font-family:' . $font . ';"></div>';
}
?>

这显然不是您在上面发布的问题的精确解决方案,而且并非如此。它旨在提供一种获取保证唯一的随机值的方法示例。您应该能够将此处表达的想法合并到您自己的代码中,而不会有太多困难。