Помощник
|
PHP разбить текст по предложениям. |
DeimosFobos |
9.8.2010, 23:25;
Ответить: DeimosFobos
Сообщение
#22
|
|
ну да, это было в условиях игры. ok:) . Вот вам версия для UTF-8 1000 повторений 'DeimosFobos 1.1': 0.248 сек. 1000 повторений 'webpavilion 1.1': 0.255 сек. <?php
function r ($timestart,$timestop,$name) { global $p; echo "$p повторений '$name': ", round(($timestop-$timestart), 3), ' сек.<br>'; } $p = 1000; $path = 'text.txt'; $intxt = file_get_contents($path); $text = $intxt; #--------------------------------------------------------- $timestart = microtime(true); for($t = 0; $t < $p; $t++) { preg_match_all("/.*[.?!]{1,}+\s/SUu", $text, $array); $randnum = mt_rand(3, 6); $nownum = 0; $lc = 0; $lines = array(); foreach( $array[0] as $line ) { if($line) { if($nownum >= $randnum) { $randnum = mt_rand(3, 6); $nownum = 0; $lc++; } $lines[$lc] .= $line; $nownum++; } } } r($timestart, microtime(true), 'DeimosFobos 1.1'); $timestart = microtime(true); for($t = 0; $t < $p; $t++) { unset ($new); preg_match_all("#(.+)[\.!?](\s{0,3}|$)#SUu",$intxt,$match); $txt = $match[0]; $count = count($txt); $start = 0; $rand = mt_rand(3, 6); while ($start<=$count) { $new[] = implode(' ', array_slice($txt,$start, $rand)); $start += $rand; $rand = mt_rand(3, 6); } $last = count($new)-1; if ($new[$last] == '') unset ($new[$last]); } r($timestart, microtime(true), 'webpavilion 1.1'); #--------------------------------------------------------- ?> |
|
|
webpavilion |
9.8.2010, 23:33;
Ответить: webpavilion
Сообщение
#23
|
|
цикл for - самый быстрый
ошибку бы с последним предложением исправили и не забывайте обновлять версии а то запутаемся. <?php function r ($timestart,$timestop,$name) { global $p; echo "$p повторений '$name': ", round(($timestop-$timestart), 3), ' сек.<br>'; } $p = 1000; $path = 'text.txt'; $intxt = file_get_contents($path); $text = $intxt; #--------------------------------------------------------- $timestart = microtime(true); for($t = 0; $t < $p; $t++) { preg_match_all("/.*[.?!]{1,}+\s/SUu", $text, $array); $randnum = mt_rand(3, 6); $nownum = 0; $lc = 0; $lines = array(); foreach( $array[0] as $line ) { if($line) { if($nownum >= $randnum) { $randnum = mt_rand(3, 6); $nownum = 0; $lc++; } $lines[$lc] .= $line; $nownum++; } } } r($timestart, microtime(true), 'DeimosFobos 1.2'); $timestart = microtime(true); for($t = 0; $t < $p; $t++) { $new = array(); preg_match_all("#.+[\.!?](\s{0,3}|$)#SUu",$intxt,$match); $txt = $match[0]; $count = count($txt); $rand = mt_rand(3, 6); for ($start = 0; $start<=$count;$start += $rand) { $new[] = implode(' ', array_slice($txt,$start, $rand)); $rand = mt_rand(3, 6); } $last = count($new)-1; if ($new[$last] == '') unset ($new[$last]); } r($timestart, microtime(true), 'webpavilion 1.2'); #--------------------------------------------------------- ?> 1000 повторений 'webpavilion 1.2': 0.279 сек.
1000 повторений 'DeimosFobos 1.2': 0.322 сек. -------------------- Не ведитесь, cамопис это почти всегда плохо! Делаю сайты на Drupal 7.x (очень дорого) |
|
|
Jepps |
9.8.2010, 23:38;
Ответить: Jepps
Сообщение
#24
|
|
Вдвоём как то не весело получается, я в прошлом году в офисе соревнования проводил: времени час, вариант на проверку один, приз ящик пива и закуска. Могу проспонсировать ящиком пива и закуской. -------------------- |
|
|
DeimosFobos |
9.8.2010, 23:46;
Ответить: DeimosFobos
Сообщение
#25
|
|
1000 повторений 'webpavilion 1.2': 0.279 сек. 1000 повторений 'DeimosFobos 1.2': 0.322 сек. webpavilion, быстрая - да. правильная - нет! рвет текст. [0] => Array
( [0] => SWOT-анализ раскручивает потребительский рынок, используя опыт предыдущих кампаний. [1] => Продуктовый ассортимент, несмотря на внешние воздействия, интуитивно понятен. [2] => Гелиоцентрическое расстояние, сублимиpуя с повеpхности ядpа кометы, просветляет сарос, используя опыт предыдущих кампаний. [3] => Часовой угол, в рамках сегодняшних воззрений, синхронно образует астероидный годовой параллакс, таким образом объектом имитации является число длительностей в каждой из относительно автономных ритмогрупп ведущего голоса. [4] => Флажолет неравномерен. [5] => Стимулирование коммьюнити варьирует терминатор, это довольно часто наблюдается у сверхновых звезд второго типа. [6] => Ось, согласно традиционным представлениям, представляет собой длительностный секстант, данное соглашение было заключено на 2-й международной конференции "Земля из космоса - наиболее эффективные решения". [7] => Векторно-зеркальная синхронность, и это особенно заметно у Чарли Паркера или Джона Колтрейна, жизненно просветляет целевой сегмент рынка, благодаря широким мелодическим скачкам. [8] => Как предсказывают футурологи крещендирующее хождение спонтанно детерминирует терминатор, на этих моментах останавливаются Л. [9] => А. [10] => Мазель и В. [11] => А. [12] => Цуккерман в своем "Анализе музыкальных произведений". [13] => Как отмечает Майкл Мескон, пуанта изящно гасит социальный статус, таким образом конструктивное состояние всей музыкальной ткани или какой-либо из составляющих ее субструктур (в том числе: временнoй, гармонической, динамической, тембровой, темповой) возникает как следствие их выстраивания на основе определенного ряда (модуса). [14] => Зенитное часовое число использует Ганимед, хотя это довольно часто напоминает песни Джима Моррисона и Патти Смит. [15] => Кульминация прочно продолжает дорийский эксцентриситет, однако сами песни забываются очень быстро. [16] => Бизнес-план последовательно представляет собой радиант, о чем подробно говорится в книге М. [17] => Друскина "Ганс Эйслер и рабочее музыкальное движение в Германии". [18] => Параллакс сбалансирован. [19] => Иными словами, интервально-прогрессийная континуальная форма индуктивно тормозит флэнжер, хотя это довольно часто напоминает песни Джима Моррисона и Патти Смит. [20] => Имидж предприятия, на первый взгляд, перечеркивает непреложный популяционный индекс, но если бы песен было раз в пять меньше, было бы лучше для всех. [21] => Флюгель-горн многопланово позиционирует миксолидийский принцип восприятия, а после исполнения Утесовым роли Потехина в "Веселых ребятах" слава артиста стала всенародной. [22] => Конечно, нельзя не принять во внимание тот факт, что фаза продуцирует мономерный побочный PR-эффект, не считаясь с затратами. [23] => Глиссандо переворачивает мнимотакт, но кольца видны только при 40–50. [24] => Раскрутка охватывает хроматический спектральный класс, не считаясь с затратами. [25] => Отвесная линия пока плохо продолжает афелий , оптимизируя бюджеты. [26] => Действительно, процессуальное изменение поддерживает шоу-бизнес, учитывая, что в одном парсеке 3,26 световых года. [27] => Высота прекрасно переворачивает болид , оптимизируя бюджеты. [28] => Различное расположение специфицирует вращательный параметр, о чем подробно говорится в книге М. [29] => Друскина "Ганс Эйслер и рабочее музыкальное движение в Германии". [30] => Весеннее равноденствие , а там действительно могли быть видны звезды, о чем свидетельствует Фукидид решает параллакс, осознав маркетинг как часть производства. [31] => Каллисто вызывает контент, данное соглашение было заключено на 2-й международной конференции "Земля из космоса - наиболее эффективные решения". [32] => Производство, и это особенно заметно у Чарли Паркера или Джона Колтрейна, изменяет типичный динамический эллипсис, используя опыт предыдущих кампаний. ) |
|
|
webpavilion |
9.8.2010, 23:48;
Ответить: webpavilion
Сообщение
#26
|
|
Могу проспонсировать ящиком пива и закуской. начатым ящиком пива меня может проспонсировать прямо сейчас мой хрущевский холодильник, закуской тоже дело в том что играться нес кем, всех толковых ребят пришлось уволить из за сраного кризиса ликвидности, а стем что набрал в этом можно только в еву, линейку или варик поиграть... скучно. -------------------- Не ведитесь, cамопис это почти всегда плохо! Делаю сайты на Drupal 7.x (очень дорого) |
|
|
gangstar90 |
9.8.2010, 23:52;
Ответить: gangstar90
Сообщение
#27
|
|
ждем-с утра, сделайте скрипты с кешированием, минимальной нагрузкой и временем выполнения 0.001с на 1мб текста
-------------------- Писать в лс для рассмотрения Вашего ресурса |
|
|
DeimosFobos |
9.8.2010, 23:55;
Ответить: DeimosFobos
Сообщение
#28
|
|
цикл for - самый быстрый вы проверяли? вот вам сравнение: <?php function r ($timestart,$timestop,$name) { global $p; echo "$p повторений '$name': ", round(($timestop-$timestart), 3), ' сек.<br>'; } $p = 10000; $array = array("text", "text", "text", "text", "text", "text", "text", "text", "text", "text", "text", "text", "text", "text", "text", "text", "text", "text"); $timestart = microtime(true); for($t = 0; $t < $p; $t++) { $count = count($array); for($i = 0; $i < $count; $i++) { $value = $array[$i]; } } r($timestart, microtime(true), 'for'); $timestart = microtime(true); for($t = 0; $t < $p; $t++) { foreach($array as $value) { } } r($timestart, microtime(true), 'foreach'); ?> 10000 повторений 'for': 0.031 сек.
10000 повторений 'foreach': 0.013 сек. |
|
|
webpavilion |
10.8.2010, 0:00;
Ответить: webpavilion
Сообщение
#29
|
|
-------------------- Не ведитесь, cамопис это почти всегда плохо! Делаю сайты на Drupal 7.x (очень дорого) |
|
|
DeimosFobos |
10.8.2010, 0:03;
Ответить: DeimosFobos
Сообщение
#30
|
|
|
|
|
webpavilion |
10.8.2010, 0:15;
Ответить: webpavilion
Сообщение
#31
|
|
где в нем ошибка? array 0 => array 0 => string 'SWOT-анализ раскручивает потребительский рынок, используя опыт предыдущих кампаний. ' (length=153) 1 => string 'Продуктовый ассортимент, несмотря на внешние воздействия, интуитивно понятен. ' (length=145) 2 => string 'Гелиоцентрическое расстояние, сублимиpуя с повеpхности ядpа кометы, просветляет сарос, используя опыт предыдущих кампаний. ' (length=226) 3 => string 'Часовой угол, в рамках сегодняшних воззрений, синхронно образует астероидный годовой параллакс, таким образом объектом имитации является число длительностей в каждой из относительно автономных ритмогрупп ведущего голоса. ' (length=412) 4 => string 'Флажолет неравномерен. ' (length=43) 5 => string 'Стимулирование коммьюнити варьирует терминатор, это довольно часто наблюдается у сверхновых звезд второго типа. ' (length=209) 6 => string 'Ось, согласно традиционным представлениям, представляет собой длительностный секстант, данное соглашение было заключено на 2-й международной конференции "Земля из космоса - наиболее эффективные решения". ' (length=376) 7 => string 'Векторно-зеркальная синхронность, и это особенно заметно у Чарли Паркера или Джона Колтрейна, жизненно просветляет целевой сегмент рынка, благодаря широким мелодическим скачкам. ' (length=330) 8 => string 'Как предсказывают футурологи крещендирующее хождение спонтанно детерминирует терминатор, на этих моментах останавливаются Л.А.Мазель и В.А.Цуккерман в своем "Анализе музыкальных произведений". ' (length=358) 9 => string 'Как отмечает Майкл Мескон, пуанта изящно гасит социальный статус, таким образом конструктивное состояние всей музыкальной ткани или какой-либо из составляющих ее субструктур (в том числе: временнoй, гармонической, динамической, тембровой, темповой) возникает как следствие их вы�'... (length=602) 10 => string 'Зенитное часовое число использует Ганимед, хотя это довольно часто напоминает песни Джима Моррисона и Патти Смит. ' (length=210) 11 => string 'Кульминация прочно продолжает дорийский эксцентриситет, однако сами песни забываются очень быстро. ' (length=185) 12 => string 'Бизнес-план последовательно представляет собой радиант, о чем подробно говорится в книге М.Друскина "Ганс Эйслер и рабочее музыкальное движение в Германии". ' (length=288) 13 => string 'Параллакс сбалансирован. ' (length=47) 14 => string 'Иными словами, интервально-прогрессийная континуальная форма индуктивно тормозит флэнжер, хотя это довольно часто напоминает песни Джима Моррисона и Патти Смит. ' (length=299) 15 => string 'Имидж предприятия, на первый взгляд, перечеркивает непреложный популяционный индекс, но если бы песен было раз в пять меньше, было бы лучше для всех. ' (length=272) 16 => string 'Флюгель-горн многопланово позиционирует миксолидийский принцип восприятия, а после исполнения Утесовым роли Потехина в "Веселых ребятах" слава артиста стала всенародной. ' (length=316) 17 => string 'Конечно, нельзя не принять во внимание тот факт, что фаза продуцирует мономерный побочный PR-эффект, не считаясь с затратами. ' (length=227) 18 => string 'Глиссандо переворачивает мнимотакт, но кольца видны только при 40–50. ' (length=126) 19 => string 'Раскрутка охватывает хроматический спектральный класс, не считаясь с затратами. ' (length=149) 20 => string 'Отвесная линия пока плохо продолжает афелий , оптимизируя бюджеты. ' (length=123) 21 => string 'Действительно, процессуальное изменение поддерживает шоу-бизнес, учитывая, что в одном парсеке 3,26 световых года. ' (length=208) 22 => string 'Высота прекрасно переворачивает болид , оптимизируя бюджеты. ' (length=113) 23 => string 'Различное расположение специфицирует вращательный параметр, о чем подробно говорится в книге М.Друскина "Ганс Эйслер и рабочее музыкальное движение в Германии". ' (length=297) 24 => string 'Весеннее равноденствие , а там действительно могли быть видны звезды, о чем свидетельствует Фукидид решает параллакс, осознав маркетинг как часть производства. ' (length=295) 25 => string 'Каллисто вызывает контент, данное соглашение было заключено на 2-й международной конференции "Земля из космоса - наиболее эффективные решения". ' (length=263) нет 26 предложения: Производство, и это особенно заметно у Чарли Паркера или Джона Колтрейна, изменяет типичный динамический эллипсис, используя опыт предыдущих кампаний. я как бы спать, завтра на работу. вот чем на сегодня хотел бы закончить (строк не рвет, предложения не теряет): <?php function r ($timestart,$timestop,$name) { global $p; echo "$p повторений '$name': ", round(($timestop-$timestart), 3), ' сек.<br>'; } $p = 1000; $path = 'text.txt'; $intxt = file_get_contents($path); $text = $intxt; #--------------------------------------------------------- $timestart = microtime(true); for($t = 0; $t < $p; $t++) { preg_match_all("/.*[.?!]{1,}+\s/SUu", $text, $array); $randnum = mt_rand(3, 6); $nownum = 0; $lc = 0; $lines = array(); foreach( $array[0] as $line ) { if($line) { if($nownum >= $randnum) { $randnum = mt_rand(3, 6); $nownum = 0; $lc++; } $lines[$lc] .= $line; $nownum++; } } } r($timestart, microtime(true), 'DeimosFobos 1.2'); #--------------------------------------------------------- $timestart = microtime(true); for($t = 0; $t < $p; $t++) { $new = array(); preg_match_all('#.+[\.!?](\s|$)#SUu',$intxt,$match); $count = count($match[0]); $rand = mt_rand(3, 6); for ($start = 0; $start<=$count;$start += $rand) { $new[] = implode(' ', array_slice($match[0],$start, $rand)); $rand = mt_rand(3, 6); } } r($timestart, microtime(true), 'webpavilion 1.3'); #--------------------------------------------------------- 1000 повторений 'webpavilion 1.3': 0.28 сек.
1000 повторений 'DeimosFobos 1.2': 0.323 сек. -------------------- Не ведитесь, cамопис это почти всегда плохо! Делаю сайты на Drupal 7.x (очень дорого) |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Раскройте свой потенциал заработка с помощью 2x2 Media Network — вашего пути к выгодным предложениям CPA! Присоединяйтесь к 2x2 Media Network, вашему надежному партнеру в мире |
11 | 2x2MediaLimited | 3276 | 18.4.2024, 4:22 автор: 2x2MediaLimited |
|
SEO-текст на главной странице сайта и в категориях | 5 | boltuk | 1425 | 26.3.2024, 21:43 автор: c4p1t4l15t |
|
Можно ли в старый SEO текст вместо старого домена поставить новый? | 3 | Tutich | 1215 | 22.3.2024, 14:47 автор: Tutich |
|
СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое | 5 | CULA | 3401 | 19.12.2023, 18:55 автор: CULA |
|
Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery Разработка сайтов и сервисов под-ключ |
0 | alexey | 1242 | 24.11.2023, 14:46 автор: alexey |
Текстовая версия | Сейчас: 20.4.2024, 4:17 |