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
mb_internal_encoding('UTF-8');
$q = $_GET['q'];
$lang = $_GET['lang'];
$num = $_GET['num'];
$type = $_GET['type'];
$ru = false;
if ($lang == 'ru')
$ru = true;
if (empty($num))
$num = 5;
if (empty($type))
$type = 'prefixGen';
if (empty($q))
$q = 'test';
function prefixGen($words, $ru)
{
unset($words['halves1'], $words['halves2']);
foreach ($words as $val) {
$prefixes = 'su, do, du, de, un, pseudo, super, emo, hyper, mega, meta, nano, tera, anti, avia, porno, euro, bio, micro, uni, neo, conta, co-, in, mis, over, pre, post, re, sub';
$end = $val;
if ($ru) {
$prefixes = 'недо, пере, во, вы, до, за, изо, ко, на, не, о, обо, ото, па, по, подо, пра, предо, про, разо, со, пре, при, мета, су, у, гипер, гипо, недопере, перенедо, ана, а, дека, гекто, кило, мега, гига, пета, экса, тера, микро, мини, милли, нано, пико, деци, йокто, йоби, киби, меби, гиби, теби, пеби, эксби, экс-, зеби, эрзац-, слабо, био, техно, страшно, переподвы, индо, евро, нагло, спорно, псевдо, сверх, супер, квази, лже, архи, де, анти, ультра, флудо, эмо, порно, глупо, умно, странно, обоюдо, нео, после, авиа, пай-, ебо, педо, уни, лакто, литро, нарко, вые, добро, снего, садо, абра, арабо, гидро, англо, педро, ибн-, сочно, трудо, грязно, ложно, переподвы, худо, ржачно, любо, мило, крико, синхро, психо, водо, говно, круто, вольно, пара, паро, боле, астро, стерео, моно, сыро, мясо, нитро, зло, авто, мото, вело, кино, радио, ретро, трахо, сексо, вечно, потно, взрыво, криво, ядо, волно, фило, само, крупно, мелко, титько, жопо, гнуто, рабо, крио, аква, длинно, лаго, баго, блохо, макро, би, тетра, тупо, страхо, воро, бандито, сердито, вьюго, ветро, градо, между, токсо, токси, славно, бого, полу, полу, полу, нано, нано, лже, лже, эмо, эмо, эмо, микро, микро, псевдо, всевдо, квази, квази, нарко, евро, евро, ибн-, ибн-';
}
$prefixes = explode(', ', $prefixes);
shuffle($prefixes);
$prefix = $prefixes[0];
$result[] = $prefix . $end;
}
return $result;
}
function halfGluing($words, $ru)
{
shuffle($words['halves2']);
foreach ($words['halves1'] as $key => $val) {
$end = $words['halves2'][$key];
$result[] = $val . $end;
}
return $result;
}
function bcdReplace($words, $ru)
{
unset($words['halves1'], $words['halves2']);
function randl($letters)
{
shuffle($letters);
return array_shift($letters);
}
function bcd($raw, $ru)
{
$letters = str_split('bcdfghklmnpqrstvwxz');
if ($ru)
$letters = explode(',', 'б,в,г,д,ж,з,к,л,м,н,р,с,ч,ш');
$temp = mb_split('1', $raw);
foreach ($temp as $val) {
$one = $val;
if ($val == '0')
$one = randl($letters);
$nick .= $one;
}
return $nick;
}
foreach ($words as $word) {
$search = 'bcdfghklmnpqrstvwxz';
if ($ru)
$search = 'бвгджзклмнпрстфхцчшщ';
$raw = preg_replace("/[$search]/u", '101', $word);
$result[] = bcd($raw, $ru);
}
return $result;
}
$base = unserialize(
file_get_contents("http://pipes.yahoo.com/pipes/pipe.run?_id=2e234671cafed4492b6f560a4d9d0ddb&_render=php&int=4-12&lang=$lang&q=$q")
);
$words = $base['value']['items'];
foreach ($words as $val) {
$word = $val['title'];
$justwords[] = $word;
$lesshalf = '{' . floor(mb_strlen($word) * 0.4) . '}';
$ready = 'бвгджзклмнпрстфхцчшщbcdfghklmnpqrstvwxz';
preg_match_all("/(^.$lesshalf.*[$ready])(.*$)/Uu", $word, $halves);
$justwords['halves1'][] = $halves[1][0];
$justwords['halves2'][] = $halves[2][0];
}
$nicknames = $type($justwords, $ru);
shuffle($nicknames);
$result = array_slice($nicknames, 0, $num);
if (!empty($result)) {
echo join(', ', $result);
} else {
echo 'error';
}
|