Показать полную графическую версию : php деление значения строковой переменной
есть переменная $a="Василий";
нужно задать градиентный цвет.
цвет всему слову задать легко:
echo "<font color=red>".$a."</font>";
а как написать код ПОКРАСИВЕЕ так чтобы средние буквы были синим цветом?
т.е. надо <font color=red>Ва<font color=blue>сил</font>ий</font>
vadimiron
14-10-2004, 14:33
Смотрим в сторону функции 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
Да, но например 7/3 выдаст значение 2,333333
Чтобы выдавать без значений после запятой, то можно воспользоваться, например, следущей функцией
bcdiv ();
класс, спасибо!
только вот всеравно както не красиво у нас получилось(
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.