DarkDaNTe » 2011.04.23 15:27

Есть желание понаписать всяких сервисов для вап-мастеров, чтобы они устанавливали их на свои сайты.
Что сейчас актуального можно понаписать? что бы хотели именно вы?

tipsun » 2011.04.23 15:39

Почти всё, что надо, есть тут... Или на других крупных сайтах wap-мастерoff.
Возможно стоит попробовать делать грабы на более свежий груз и их выдавать за/как сервис

San » 2011.04.24 17:55

Я хотел бы психо тесты. Но чтоб не напичкан был порно рекламами как mаstох.

POFIGISST » 2011.04.24 19:55

Сделайте сервис раздачи пива,например каждому кто зашел на сайт,бутылку пива раз в сутки дают,тогда такой сайт станет самым популярным :D и еще в подарок к нему сервис раздачи воблы к пивку :D

TLENS » 2011.04.25 00:07

xa не в сервисах дело их щас куча

DarkDaNTe » 2011.04.25 09:26

А в чем же?

TLENS » 2011.04.25 14:00

Точно я не скажу но сервисов щас на каждом сайте куча? И что мож простота удобность в использовании.
Так тоже не вариант но тут думать надо.
А хотя мож я и не прав
Можно написать типа такого сервиса
http://podsmotri.org/spaces/color.php
Добавлено спустя   1 минуту  48 секунд:
А почему бы и нет но надо его закончить щас дам исходник

POFIGISST » 2011.04.25 14:05

Тру ля ля ля хД прикольный сервис))) Ололо

TLENS » 2011.04.25 14:06

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php
header("Content-type:text/html; charset=utf-8");
$_text=$_POST['text'];
function str_split_utf8($str) {
   $split 1;
   $array = array();
   for ($i=0$i strlen($str); ){
       $value ord($str[$i]);
       if($value 127){
           if ($value >= 192 && $value <= 223)      $split 2;
           elseif ($value >= 224 && $value <= 239)  $split 3;
           elseif ($value >= 240 && $value <= 247)  $split 4;
       } else $split 1;
       $key NULL;
       for ( $j 0$j $split$j++, $i++ ) $key .= $str[$i];
       array_push$array$key );
   }
   return $array;
}
function rgb2html($r$g=-1$b=-1)
{
    if (is_array($r) && sizeof($r) == 3)
        list($r$g$b) = $r;
 
    $r intval($r); $g intval($g);
    $b intval($b);
 
    $r dechex($r<0?0:($r>255?255:$r));
    $g dechex($g<0?0:($g>255?255:$g));
    $b dechex($b<0?0:($b>255?255:$b));
 
    $color = (strlen($r) < 2?'0':'').$r;
    $color .= (strlen($g) < 2?'0':'').$g;
    $color .= (strlen($b) < 2?'0':'').$b;
    return '#'.$color;
}
function convert_color($t){
    $a=str_split_utf8($t);
    $i=0;
    $t='';
    while($a[$i]){
    if(!trim($a[$i])) $t.=$a[$i];
    else $t.='<font color="'.rgb2html(rand(0,255),rand(0,255),rand(0,255)).'">'.$a[$i].'</font>';
        $i++;
    }
    return $t;
}
 
$text=htmlspecialchars($_text);
?>
Ваш текст:<br />
<form method="post">
<textarea name="text" rows="10" cols="50"><?=$text?></textarea>
<input type="submit" />
</form>
От конвертированный:<br />
<?
$conv=convert_color($_text);
echo $conv;
 
 
$conv=preg_replace('/<font color="(.*?)">/si','[color=$1]',$conv);
$conv=str_replace('</font>','[/color]',$conv);
 
 
 
?>
<br />
Скопировать: (<?=strlen($conv)?> симв.)<br />
<textarea name="text" rows="10" cols="50"><?=htmlspecialchars($conv)?></textarea>
tipsun » 2011.04.25 14:36

Она переносы удаляет :(
А так круто, за исключением того, что сервер будет грузить, мне кажется. Может и не прав.
- - - -
А нет же, норм с переносами, я просто в textarea не посмотрел :)

TLENS » 2011.04.25 15:27

tipsun
Я же говорю что надо доделать это я так побырику катнул. Да и функцию str_split_utf8 надо заменить на перекодировку

tipsun » 2011.04.25 15:37

Сильно не бейте, я просто попробовал написать...
Такой вариант кокашко наверно?

Код:

1
2
3
4
5
<html>
<body>
<form action="?" method="post">
<div>
<textarea name="text"></textarea><br/>

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?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$x1$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;
    }
  }
 
?>

Код:

1
2
3
4
5
6
7
<textarea name="colorfull"><?=$bbtext?></textarea><br/>
<input type="submit" value="colorfull" />
</div>
</form>
<div>- - - -<br/><?=nl2br($html)?><br/>- - - -</div>
</body>
</html>
Gemorroj » 2011.04.25 16:19

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
 
class 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)), 06);
        
    }
}
 
 
header('Content-type: text/plain; charset=utf-8');
$obj = new Color('тест 2');
 
echo $obj->getBbcode() . "\n";
echo $obj->getHtml() . "\n";
?>
tipsun » 2011.04.25 16:21

Тут по ходу конкурс начался :D
- - - -
Блеать, у Gemorroj-я The Best code :)

Gemorroj » 2011.04.25 16:26

не, у меня тоже есть к чему придраться. как минимум дублирование кода в методах getBbcode и getHtml

tipsun » 2011.04.25 16:28

Я про такое даже не знал. Надо посмотреть...

Код:

1
2
3
<?php
str_shuffle(str_repeat('0123456789abcdef'6))
?>

Добавлено спустя   9 минут  11 секунд:
Gemorroj,

Код:

1
2
3
4
5
6
7
8
9
<?php
/// ! - тут не должен быть? \S - это пробел ведь?
if (preg_match ('/\S/'$v)) {
                $out .= '[color=#' $this->_getColor() . ']' $v '[/color]';
            } else {
                $out .= $v;
            }
 
?>

- - - -
Хмм, не пробел. Надо почитать

TLENS » 2011.04.25 16:59

tipsun
Это пустые символы такие как пробел табуляция и т.п.

tipsun » 2011.04.25 17:03

Да, нашел вот.
\s - один пробел
\S - один не пробел

TLENS » 2011.04.25 17:12

Можно сделать еще радугу и т.п.
Добавлено спустя   3 минуты  28 секунд:
Можно сделать еще градиент

tipsun » 2011.04.25 17:17

Вау, круто! :) Я уже такое не смогу написать.
- - - -
Хотя! Надо будет попробовать.

TLENS » 2011.04.25 17:19

Это уже на сколько фантазии хватит

tipsun » 2011.04.25 17:45

Да поможет мне <pre> епт... Не придраться суко... :D
Если бы Gemorroj не на классе написал, вообще было бы минимум кода. МДЭ, до такого кода мне плясать и плясать :D

Gemorroj » 2011.04.25 18:16

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?php
 
class Color
{
    private $_data = array();
 
 
    /**
     * __construct
     * 
     * @param $text
     * @return void
     */
    public function __construct ($text)
    {
        foreach (preg_split('//u'$text) as $v) {
            $this->_data[] = array('char' => $v'color' => (bool)preg_match ('/\S/'$v));
        }
    }
 
 
    /**
     * setRandom
     * 
     * @return $this
     */
    public function setRandom ()
    {
        foreach ($this->_data as $k => $v) {
            if ($v['color'] !== false) {
                $this->_data[$k] = array('char' => $v['char'], 'color' => $this->_getRandomColor());
            }
        }
        return $this;
    }
 
 
    /**
     * setGradient
     * 
     * @return $this
     */
    public function setGradient ()
    {
        foreach ($this->_data as $k => $v) {
            if ($v['color'] !== false) {
                $this->_data[$k] = array('char' => $v['char'], 'color' => $this->_getGradientColor());
            }
        }
        return $this;
    }
 
 
    /**
     * getBbcode
     * 
     * @return string
     */
    public function getBbcode ()
    {
        $out '';
        foreach ($this->_data as $v) {
            if ($v['color'] !== false) {
                $out .= '[color=#' $v['color'] . ']' $v['char'] . '[/color]';
            } else {
                $out .= $v['char'];
            }
        }
        return $out;
    }
 
 
    /**
     * getHtml
     * 
     * @return string
     */
    public function getHtml ()
    {
        $out '';
        foreach ($this->_data as $v) {
            if ($v['color'] !== false) {
                $out .= '<span style="color: #' $v['color'] . ';">' $v['char'] . '</span>';
            } else {
                $out .= $v['char'];
            }
        }
        return $out;
    }
 
 
    /**
     * _getRandomColor
     * 
     * @return string
     */
    private function _getRandomColor ()
    {
        return substr(str_shuffle(str_repeat('0123456789abcdef'6)), 06);
        
    }
 
 
    /**
     * _getGradientColor
     * 
     * @return string
     */
    private function _getGradientColor ()
    {
        static $i 0;
        if ($i >= 200) {
            $i 0;
        }
 
        return str_repeat(dechex($i += 25), 3);
    }
}
 
 
header('Content-type: text/html; charset=utf-8');
$obj = new Color('тест 2 с градиентом');
$data $obj->setRandom();
 
echo $data->getBbcode() . "\n";
echo $data->getHtml() . "\n";
 
 
$data $obj->setGradient();
 
echo $data->getBbcode() . "\n";
echo $data->getHtml() . "\n";
?>
San » 2011.04.25 22:31

Я нифига не понял,но если сделаете сервис,скинте ссылку если можно.

tipsun » 2011.04.25 23:02

San, Gemorroj уже всё сделал (пост #23). Осталось лишь разметку (html) накинуть иии... использовать класс. :)

San » 2011.04.26 07:21

А что там будет? Я в таких вещах не разбираюсь,сайт у меня на венике,хотя больше 200 мб своего груза,но на венике:-) скрипты и все такое для меня загадка:-)

tipsun » 2011.04.26 08:46

А, ты в этом плане. Я думал ты скрипт скачать хотел :)

San » 2011.04.26 13:03

Не,я просто не разбираюсь. Я вообще хотел забросить инет,но сайт жалко,я загрузил 180 мб груза,так как на венике максимум 200,я создал второй сайт,тоже на венике,заливаю груз туда,а прямые ссылки устанавливаю на первый сайт,в итоге шас у меня около 230 мб груза,и бросать сайт жалко:-) шас хочу сервис психо тестов,пользователи требуют:-)

tipsun » 2011.04.26 14:58

DarkDaNTe, San кажется ответил на твой вопрос (ну в посте #1) :)
Даешь сервисы прихотестов и вот текстокрасителя от Gemorroj-я.

POFIGISST » 2011.04.26 15:43

И правда работает)  Ну теперь можно баловаться :Р

tipsun » 2011.06.07 12:07

Вот подкину идею сервиса, т.к. сам отошел от этих дел, может вам понравится.
- - - -
Нужен текстовый редактор онлайн! :)
Функции...
- Всё открывающиеся файлы были в кодировке UTF-8, по понятной причине думаю :)
- Как набирать текст, так и грузить файл тхт с возможностью его редактирования.
- Сохранять файл в разных кодировках к себе на телефон.
- - - -
Такой вроде в Gmanager есть, просто оттуда взять и сделать сервис онлайн редактирования тхт файлов :)
- - - -
У кого смартфон, тот естественно Dedit пользуется. А у кого телефон, уже проблемно файл просто с одной кодировки в другую преобразовать... Я прошелся по неплохому сайту, ява приложения не нашел хорошего.