-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
есть переменная $a="Василий";
нужно задать градиентный цвет.
цвет всему слову задать легко:
echo "<font color=red>".$a."</font>";
а как написать код ПОКРАСИВЕЕ так чтобы средние буквы были синим цветом?
т.е. надо <font color=red>Ва<font color=blue>сил</font>ий</font>
|
vadimiron |
14-10-2004 14:33 212364 |
Смотрим в сторону функции substr
Например, на скорую руку можно такую функцию написать
Код:
function coloring ($str)
{
$len_of_str=strlen($str);
if ($len_of_str<=2)
{
return 0;
}
else
{
if ($len_of_str<=5)
{
echo "<font color=red>".substr($str,0,1)."</font>";
echo "<font color=blue>".substr($str,1,$len_of_str-2)."</font>";
echo "<font color=red>".substr($str,$len_of_str-1,1)."</font>";
}
else
{
echo "<font color=red>".substr($str,0,2)."</font>";
echo "<font color=blue>".substr($str,2,$len_of_str-4)."</font>";
echo "<font color=red>".substr($str,$len_of_str-2,2)."</font>";
}
}
}
Смысл работы: если строка $str состоит из 2 или менее знака, то ничего не делаем, если от трёх до пяти, то красим первую и последнюю букву красным, всё что в середине синим
Если больше 5 знаков, то красим первые две и последние две буквы красным, середину синим.
Это был просто пример использования функции
|
в таком случае проще писать
Код:
if (strlen($str)>2)
{
$f="<font red>$str[0]<font blue>$str[1]</font>$str[2]</font>";
}
и т.д.
а как сделать чтобы если величина больше 5, красить не две первых и последних буквы красным, а ровно 1/3 от величины в начале и в конце?
strlen($str)/3=?
|
vadimiron |
14-10-2004 16:39 212366 |
Да, но например 7/3 выдаст значение 2,333333
Чтобы выдавать без значений после запятой, то можно воспользоваться, например, следущей функцией
bcdiv ();
|
класс, спасибо!
только вот всеравно както не красиво у нас получилось(
|
Время: 07:46.
© OSzone.net 2001-