Вы не зашли.
Главная » Общение » Сервисы
#11. TLENS Off (14)
Moderator
2011.04.25 15:03
tipsun
Я же говорю что надо доделать это я так побырику катнул. Да и функцию str_split_utf8 надо заменить на перекодировку
#12. tipsun Off (19)
Moderator
2011.04.25 15:03
Сильно не бейте, я просто попробовал написать...
Такой вариант кокашко наверно?
Код:
<html>
<body>
<form action="?" method="post">
<div>
<textarea name="text"></textarea><br/>
Код:
span style="color: #0000BB"><?php$text = $_POST['text'];$encode = mb_detect_encoding($text, 'auto');$count = mb_strlen($text, $encode);$html = null;$bbtext = null;for($x = 0;$x < $count;$x++) { $char = mb_substr($text, $x, 1, $encode); if(' ' !== $char and "\n" !== $char and "\r" !== $char and "\r\n" !== $char) { $r = mt_rand(0,255); $g = mt_rand(0,255); $b = mt_rand(0,255); $html .= '<span style="color: RGB('.$r.', '.$g.', '.$b.');">'.$char.'</span>'; $bbtext .= '[color=#'.dechex($r).dechex($g).dechex($b).']'.$char.'[/color]'; } else { $html .= $char; $bbtext .= $char; } }?>
Код:
<textarea name="colorfull"><?=$bbtext?></textarea><br/>
<input type="submit" value="colorfull" />
</div>
</form>
<div>- - - -<br/><?=nl2br($html)?><br/>- - - -</div>
</body>
</html>
Отредактировано tipsun (2011.04.25 16:04)
#13. Gemorroj Off (107)
Administrator
2011.04.25 16:04
Код:
span style="color: #0000BB"><?phpclass Color{ private $_text; /** * __construct * * @param $text * @return void */ public function __construct ($text) { $this->_text = $text; } /** * getBbcode * * @return string */ public function getBbcode () { $out = ''; foreach (preg_split('//u', $this->_text) as $v) { if (preg_match ('/\S/', $v)) { $out .= '[color=#' . $this->_getColor() . ']' . $v . '[/color]'; } else { $out .= $v; } } return $out; } /** * getHtml * * @return string */ public function getHtml () { $out = ''; foreach (preg_split('//u', $this->_text) as $v) { if (preg_match ('/\S/', $v)) { $out .= '<span style="color: #' . $this->_getColor() . ';">' . $v . '</span>'; } else { $out .= $v; } } return $out; } /** * _getColor * * @return string */ private function _getColor () { return substr(str_shuffle(str_repeat('0123456789abcdef', 6)), 0, 6); }}header('Content-type: text/plain; charset=utf-8');$obj = new Color('тест 2');echo $obj->getBbcode() . "\n";echo $obj->getHtml() . "\n";?>
#14. tipsun Off (19)
Moderator
2011.04.25 16:04
Тут по ходу конкурс начался big_smile
- - - -
Блеать, у Gemorroj-я The Best code smile
Отредактировано tipsun (2011.04.25 16:04)
#15. Gemorroj Off (107)
Administrator
2011.04.25 16:04
не, у меня тоже есть к чему придраться. как минимум дублирование кода в методах getBbcode и getHtml
#16. tipsun Off (19)
Moderator
2011.04.25 16:04
Я про такое даже не знал. Надо посмотреть...
Код:
span style="color: #0000BB"><?phpstr_shuffle(str_repeat('0123456789abcdef', 6))?>
Добавлено спустя   9 минут  11 секунд:
Gemorroj,
Код:
span style="color: #0000BB"><?php/// ! - тут не должен быть? \S - это пробел ведь?if (preg_match ('/\S/', $v)) { $out .= '[color=#' . $this->_getColor() . ']' . $v . '[/color]'; } else { $out .= $v; }?>
- - - -
Хмм, не пробел. Надо почитать
Отредактировано tipsun (2011.04.25 17:05)
#17. TLENS Off (14)
Moderator
2011.04.25 16:04
tipsun
Это пустые символы такие как пробел табуляция и т.п.
#18. tipsun Off (19)
Moderator
2011.04.25 17:05
Да, нашел вот.
\s - один пробел
\S - один не пробел
Отредактировано tipsun (2011.04.25 17:05)
#19. TLENS Off (14)
Moderator
2011.04.25 17:05
Можно сделать еще радугу и т.п.
Добавлено спустя   3 минуты  28 секунд:
Можно сделать еще градиент
Отредактировано TLENS (2011.04.25 17:05)
#20. tipsun Off (19)
Moderator
2011.04.25 17:05
Вау, круто! smile Я уже такое не смогу написать.
- - - -
Хотя! Надо будет попробовать.
Отредактировано tipsun (2011.04.25 17:05)
Страниц: 1 2 3 4 Все
Главная
WEB
PunBB Mod v0.6.2
0.018 s