Я хочу случайный текст от Lorem Ipsum, поэтому я могу использовать его при создании веб-страниц. Я не могу найти какие-либо функции PHP, которые это делают, и мне интересно, есть ли общедоступные библиотеки или API на сайтах, которые могут быть использованы для получения случайного текста?Как получить случайный текст из lorem Ipsum в PHP?
ответ
$content = file_get_contents('http://loripsum.net/api');
Docs в правом нижнем углу this page:
Просто сделать G ET запрос на loripsum.net/api, чтобы получить какой-то заполнитель текст. Вы можете добавить дополнительные параметры, чтобы указать вывод, который вы собираетесь , чтобы получить. Скажем, вам нужно 10 коротких абзацев с заголовками, используйте http://loripsum.net/api/10/short/headers. Все возможные параметры:
- (целое число) - количество абзацев для генерации.
- короткие, средние, длинные, очень длинные - средняя длина абзаца.
- decorate - добавить жирный, курсив и выделенный текст.
- link - Добавить ссылки.
- ul - Добавить неупорядоченные списки.
- ol - Добавить пронумерованные списки.
- dl - Добавить список описаний.
- bq - Добавить блок-схемы.
- code - Добавить образцы кода.
- заголовки - Добавить заголовки.
- allcaps - используйте ВСЕ КАПСЫ.
- прут - Пруден версия.
- plaintext - Возвращает обычный текст, без HTML.
Я никогда не использовал 'file_get_contents()' раньше, [docs] (http://www.php.net/file_get_contents) говорит, что он принимает аргументы имени файла, я удивлен, что он работает с URL-адресом. – Celeritas
@Celeritas: Файл также может быть удаленным файлом :) –
Прокрутите страницу вниз до тех пор, пока не найдете «URL-адрес, который можно использовать в качестве имени файла с этой функцией, если обертки fopen были включены. См. Fopen() для получения дополнительной информации подробности о том, как указать имя файла. См. Поддерживаемые протоколы и обертки для ссылок на информацию о том, какие способности могут иметь различные обертки, заметки об их использовании и информация о любых предопределенных переменных, которые они могут предоставить ». - работает с PHP 4.2 или около того. –
$lipsum = simplexml_load_file('http://www.lipsum.com/feed/xml?amount=1&what=paras&start=0')->lipsum;
ИЛИ вы можете сделать функцию:
function random_lipsum($amount = 1, $what = 'paras', $start = 0) {
return simplexml_load_file("http://www.lipsum.com/feed/xml?amount=$amount&what=$what&start=$start")->lipsum;
}
Почему все урезали? –
Скорее всего, я скорректировал это. –
для использования PHP:
$lipsum = simplexml_load_file('http://www.lipsum.com/feed/xml?amount=1&what=paras&start=0')->lipsum;
или в функции:
function random_lipsum($amount = 1, $what = 'paras', $start = 0) {
return simplexml_load_file("http://www.lipsum.com/feed/xml?amount=$amount&what=$what&start=$start")->lipsum;
}
вы должны использовать это класс, вы должны включить его в свой проекта с этой командой echo Lorem::create($lang = Lorem::LANG_FA , $count = 5 , $type = Lorem::TYPE_PARAGRAPH , $end = '...');
затем вот класс
class Lorem {
const TYPE_WORD = 1;
const TYPE_CHAR = 2;
const TYPE_PARAGRAPH = 3;
const LANG_EN = 'en';
static private $en = 'Lorem ipsum ';
static function create($lang = self::LANG_FA, $count = 10, $type = self::TYPE_WORD, $end = '...') {
$out = '';
if ($lang == self::LANG_FA)
$lorem = self::$fa;
else
$lorem = self::$en;
switch ($type) {
case self::TYPE_WORD :
$words = explode(' ', $lorem);
$i = 0;
foreach ($words as $word) {
if ($i == $count)
break;
$out .= ' ' . $word;
$i++;
}
break;
case self::TYPE_CHAR :
for ($i = 0; $i <= $count; $i++) {
$out .= $lorem[$i];
}
break;
case self::TYPE_PARAGRAPH:
for ($i = 0; $i < $count; $i++) {
$out .= '<p>' . $lorem . '</p>';
}
break;
}
return $out . $end;
}
}
Я действительно не хочу, чтобы сделать вызов API, чтобы получить некоторый произвольный текст, так что я написал это сам:
<?php
abstract class Lorem {
public static function ipsum($nparagraphs) {
$paragraphs = [];
for($p=0; $p<$nparagraphs; ++$p) {
$nsentences = random_int(3,8);
$sentences = [];
for($s=0; $s<$nsentences; ++$s) {
$frags = [];
$commaChance = .33;
while(true) {
$nwords = random_int(3, 15);
$words = self::random_values(self::$lorem, $nwords);
$frags[] = implode(' ', $words);
if(self::random_float() >= $commaChance) {
break;
}
$commaChance /= 2;
}
$sentences[] = ucfirst(implode(', ', $frags)) . '.';
}
$paragraphs[] = implode(' ',$sentences);
}
return implode("\n\n",$paragraphs);
}
private static function random_float() {
return random_int(0, PHP_INT_MAX-1)/PHP_INT_MAX;
}
private static function random_values($arr, $count) {
$keys = array_rand($arr, $count);
if($count == 1) {
$keys = [$keys];
}
return array_intersect_key($arr, array_fill_keys($keys, null));
}
private static $lorem = [
0 => 'lorem',
1 => 'ipsum',
2 => 'dolor',
3 => 'sit',
4 => 'amet',
5 => 'consectetur',
6 => 'adipiscing',
7 => 'elit',
8 => 'praesent',
9 => 'interdum',
10 => 'dictum',
11 => 'mi',
12 => 'non',
13 => 'egestas',
14 => 'nulla',
15 => 'in',
16 => 'lacus',
17 => 'sed',
18 => 'sapien',
19 => 'placerat',
20 => 'malesuada',
21 => 'at',
22 => 'erat',
23 => 'etiam',
24 => 'id',
25 => 'velit',
26 => 'finibus',
27 => 'viverra',
28 => 'maecenas',
29 => 'mattis',
30 => 'volutpat',
31 => 'justo',
32 => 'vitae',
33 => 'vestibulum',
34 => 'metus',
35 => 'lobortis',
36 => 'mauris',
37 => 'luctus',
38 => 'leo',
39 => 'feugiat',
40 => 'nibh',
41 => 'tincidunt',
42 => 'a',
43 => 'integer',
44 => 'facilisis',
45 => 'lacinia',
46 => 'ligula',
47 => 'ac',
48 => 'suspendisse',
49 => 'eleifend',
50 => 'nunc',
51 => 'nec',
52 => 'pulvinar',
53 => 'quisque',
54 => 'ut',
55 => 'semper',
56 => 'auctor',
57 => 'tortor',
58 => 'mollis',
59 => 'est',
60 => 'tempor',
61 => 'scelerisque',
62 => 'venenatis',
63 => 'quis',
64 => 'ultrices',
65 => 'tellus',
66 => 'nisi',
67 => 'phasellus',
68 => 'aliquam',
69 => 'molestie',
70 => 'purus',
71 => 'convallis',
72 => 'cursus',
73 => 'ex',
74 => 'massa',
75 => 'fusce',
76 => 'felis',
77 => 'fringilla',
78 => 'faucibus',
79 => 'varius',
80 => 'ante',
81 => 'primis',
82 => 'orci',
83 => 'et',
84 => 'posuere',
85 => 'cubilia',
86 => 'curae',
87 => 'proin',
88 => 'ultricies',
89 => 'hendrerit',
90 => 'ornare',
91 => 'augue',
92 => 'pharetra',
93 => 'dapibus',
94 => 'nullam',
95 => 'sollicitudin',
96 => 'euismod',
97 => 'eget',
98 => 'pretium',
99 => 'vulputate',
100 => 'urna',
101 => 'arcu',
102 => 'porttitor',
103 => 'quam',
104 => 'condimentum',
105 => 'consequat',
106 => 'tempus',
107 => 'hac',
108 => 'habitasse',
109 => 'platea',
110 => 'dictumst',
111 => 'sagittis',
112 => 'gravida',
113 => 'eu',
114 => 'commodo',
115 => 'dui',
116 => 'lectus',
117 => 'vivamus',
118 => 'libero',
119 => 'vel',
120 => 'maximus',
121 => 'pellentesque',
122 => 'efficitur',
123 => 'class',
124 => 'aptent',
125 => 'taciti',
126 => 'sociosqu',
127 => 'ad',
128 => 'litora',
129 => 'torquent',
130 => 'per',
131 => 'conubia',
132 => 'nostra',
133 => 'inceptos',
134 => 'himenaeos',
135 => 'fermentum',
136 => 'turpis',
137 => 'donec',
138 => 'magna',
139 => 'porta',
140 => 'enim',
141 => 'curabitur',
142 => 'odio',
143 => 'rhoncus',
144 => 'blandit',
145 => 'potenti',
146 => 'sodales',
147 => 'accumsan',
148 => 'congue',
149 => 'neque',
150 => 'duis',
151 => 'bibendum',
152 => 'laoreet',
153 => 'elementum',
154 => 'suscipit',
155 => 'diam',
156 => 'vehicula',
157 => 'eros',
158 => 'nam',
159 => 'imperdiet',
160 => 'sem',
161 => 'ullamcorper',
162 => 'dignissim',
163 => 'risus',
164 => 'aliquet',
165 => 'habitant',
166 => 'morbi',
167 => 'tristique',
168 => 'senectus',
169 => 'netus',
170 => 'fames',
171 => 'nisl',
172 => 'iaculis',
173 => 'cras',
174 => 'aenean',
];
}
Использование:
Lorem::ipsum(5);
Пример вывода:
"""
Ligula ornare commodo elementum. Cursus gravida bibendum. Lacus integer auctor primis ad odio suscipit diam, justo feugiat hendrerit. Ipsum suspendisse nunc tempor ultrices orci odio potenti imperdiet netus fames. Viverra feugiat sollicitudin euismod commodo dui lectus magna sem aliquet cras, sit mattis vulputate enim eros. Interdum a primis orci arcu porttitor taciti. Maecenas mauris mollis purus nullam enim laoreet aliquet, maecenas feugiat auctor vulputate quam condimentum vehicula tristique. Consectetur mauris auctor sollicitudin.\n
\n
Sit at tincidunt lacinia nec tempus conubia bibendum fames. Justo massa odio. Sit praesent tincidunt nisi molestie cursus ornare tempus class duis, dolor vitae luctus eleifend ut curae hendrerit vulputate dui aptent litora suscipit dignissim, sed auctor ultricies dictumst vel. Etiam mattis a est phasellus felis posuere pharetra consequat platea taciti torquent neque nisl cras. Adipiscing in viverra a molestie fusce pretium tempus porta curabitur. Aptent risus nisl.\n
\n
Ipsum quisque auctor venenatis varius posuere hendrerit eu libero vel taciti ad conubia cras, placerat nec phasellus gravida aliquet. Dictum lacus leo facilisis ut quis gravida litora bibendum laoreet. Interdum tincidunt ac suspendisse venenatis nullam pretium hac himenaeos diam vehicula.\n
\n
Nulla eleifend varius hendrerit condimentum efficitur fames. Metus pulvinar pretium habitasse vivamus efficitur turpis porta rhoncus elementum netus. Mollis phasellus fusce nullam eu vel sodales duis.\n
\n
Ipsum egestas pulvinar tortor venenatis fusce consequat pellentesque class fermentum potenti suscipit diam tristique. Sit tellus magna. Lobortis venenatis quis nisi condimentum nostra ullamcorper.
"""
Это зависит от PHP 7's CSPRNG functions, который вы можете либо polyfill, либо sub out для mt_rand, если вы на PHP 5.x.
Гораздо лучшее решение, чем использование (очень превосходное) loripsum.net –
- 1. Offline lorem ipsum generator
- 2. Онлайн-генераторы lorem ipsum
- 3. есть ли lorem ipsum generator в C#?
- 4. Lorem Ipsum in Sublime Text 2
- 5. Emmet кодировка lorem ipsum, не начиная с lorem
- 6. функция угловато-иш для вывода текста lorem ipsum в шаблоне?
- 7. Lorem ipsum Perl, C#, C, Java?
- 8. Как настроить дефолт «Lorem ipsum» в Sublime Text 3?
- 9. Можно ли поменять lorem ipsum по умолчанию в Emmet?
- 10. Почему дизайнеры используют «Lorem Ipsum Dolor» для заполнения пространства?
- 11. Мой текст центрируется только тогда, когда я использую большой Lorem Ipsum
- 12. Выделить все данные из базы данных, где title является lorem ipsum в Laravel 4
- 13. Как получить случайный текст UILabel?
- 14. Очиститель PHP Случайный текст
- 15. Случайный текст внутри css shape
- 16. Почему кнопка «quote» этого приложения iPhone не заменяет lorem ipsum Text View?
- 17. PHP Получить случайный пункт
- 18. PHP случайный текст один раз
- 19. Каково значение этого тега: <t> Lorem Ipsum</t>
- 20. Случайный текст как вывод
- 21. Случайный текст Из массива jQuery
- 22. Получить текст из строки (регулярное выражение)
- 23. PHP - Как получить случайный элемент в массиве?
- 24. Случайный текст из массива - android
- 25. Как получить текст из textarea в php?
- 26. Получите случайный текст из ArrayList
- 27. Как получить случайный элемент из многомерного массива в PHP
- 28. PHP Текст Clickable
- 29. Как получить конкретное слово из строки в PHP?
- 30. Получить случайный элемент из hashset?
Попробуйте это http://blog.ergatides.com/2011/08/16/simple-php-one-liner-to-generate-random-lorem-ipsum-lipsum-text/ –
или вы можете прочитать три ответы, которые только что скопировали и вставляли это. –
http://loripsum.net действительно имеет намного более чистый API, который не требует синтаксического анализа XML и позволяет лучше параметризировать для заполнения веб-страниц. –