Хак DLE ограничение длины новости #

Не сложно догадаться, что я тесно связан с разработкой сайтов на коммерческой CMS - DLE.

И не давно столкнулся с проблемой которую никогда не видел. Оказуется длинна поста в fullstory ограничена в БД полем типа TEXT. Все что больше определенной длины вырезается.

Что бы избежать этой проблемы нужно указать тип LONGTEXT. Всего-то -)

Фап в интерпретатор PHP #

Еще регулярные выражения и парочка полезных функций, честно скопипастеный где-то на просторах интернета:

Яндекс тИЦ
function cy($url){
preg_match("/value=\"(.\d*)\"/", join("", file('http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://'.$url.'/')), $tic);
return($tic[1]!=""?$tic[1]:0); }


Яндекс число страниц в индексе
function ya_stat($url){
$str=file_get_contents("http://yandex.ru/yandsearch?numdoc=10&serverurl={$url}");
preg_match("\/(.*)нашл(.*)сь(.*)страниц(.*)/s", $str, $find); $res=$find[3];
if(preg_match("/(.*)ничего не найдено(.*)<\/title>/s", $str)) {$res=0;}<br> $res=str_replace(" ","",$res);<br> $res=str_replace("млн","000000",$res);<br> $res=str_replace("тыс.","000",$res);<br> return $res;} </div> <br> <br> <b>Веб прокси</b><br> <div class="scriptcode"> echo file_get_contents($_GET['q']);<br> $content=file_get_contents("http://урл.сайта/имя.скрипта?=".$url); </div> <br> <br> <b>LiveInternet статистика</b><br> <div class="scriptcode"> function listat($url){<br> $content = file_get_contents("http://counter.yadro.ru/values?site=".$url);<br> preg_match_all("|LI_([^ ]+) = (\d*);|",$content,$ok);<br> for($i=0; $i<count($ok[1]); $i++) $info[$ok[1][$i]]=$ok[2][$i];<br> return $info;}<br> <br> $ff=listat($url);<br> $w_vis=floor($ff[week_vis]/7);<br> $w_hit=floor($ff[week_hit]/7);//Средняя посещаемость за последнюю неделю<br> $li_vis=$ff[day_vis];<br> $li_hit=$ff[day_hit];//И дневная посещаемость<br> echo "Week $w_vis / $w_hit, today $li_vis / $li_hit"; </div> <br> <br> Информация для счетчика <b>LiveInternet</b>. Показывается для всех сайтов, которые не закрыли отображение инфы на счетчике (даже если сама статистика закрыта). Удобно как анализировать чужие сайты, так и просматривать суммарную посещаемость своих. </div> <div class="comm"> <br> <a href="/blog/">Блог</a> » <a href="/blog/php/">PHP</a> / Теги: <a href="/tags/php/">php</a>, <a href="/tags/%F0%E5%E3%F3%EB%FF%F0%ED%EE%E5+%E2%FB%F0%E0%E6%E5%ED%E8%E5/">регулярное выражение</a>, <a href="/tags/%EA%EE%E4/">код</a>, <a href="/tags/%F1%EA%F0%E8%EF%F2%FB/">скрипты</a> / 13.11.09 / <a href="/218-fap-v-interpretator-php.html#comment">Комментировать [0]</a> </div> </div> <div class="story"> <h3>Регулярные выражения <a href="/217-regulyarnye-vyrazheniya.html">#</a> </h3> <div id="news-id-217" style="display:inline;"> Последнее время очень часто приходиться сталкиваться с регулярными выражениями. И для понимания они очень сложны. Повторить по памяти выражение я не смогу поэтому выложу сюда как записку для себя и как заметку для вас:<br> <br> <b>Удалить определенную ссылку</b>:<br> <div class="scriptcode"> $text=preg_replace("~<a href=\"http://www\.aaa\">[^<]+?</a>~",'',$text); </div> <br> За это решение спасибо setty<br> <br> <b>Удалить спецсимволы</b>:<br> <div class="scriptcode"> $text = preg_replace ("~(\\\|\*|\?|\[|\?|\]|\(|\\\$|\))~", "",$text); </div> <br> <br> Вывести число подписчиков в <b>FeedBurner</b>:<br> <div class="scriptcode"> function fb($feed){<br> $s=file_get_contents("http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri={$feed}");<br> preg_match('/circulation="(\d+)"/', $s, $a);<br> return $a[1];} </div> <br> <br> Выводим <b>Alexa Rank</b>:<br> <div class="scriptcode"> function alexa($url) {<br> preg_match('#<div class="data .+?">(.*?)</div>#si', file_get_contents("http://www.alexa.com/siteinfo/{$url}"), $a);<br> return trim(str_replace(",","",strip_tags($a[1])));} </div> </div> <div class="comm"> <br> <a href="/blog/">Блог</a> » <a href="/blog/php/">PHP</a> / Теги: <a href="/tags/%F0%E5%E3%F3%EB%FF%F0%ED%FB%E5+%E2%FB%F0%E0%E6%E5%ED%E8%FF/">регулярные выражения</a>, <a href="/tags/%EF%F5%EF/">пхп</a> / 12.11.09 / <a href="/217-regulyarnye-vyrazheniya.html#comment">Комментировать [0]</a> </div> </div> <div class="story"> <h3>Rock to the beat! <a href="/216-rock-to-the-beat.html">#</a> </h3> <div id="news-id-216" style="display:inline;"> Сайт вернулся в рабочий режим, я начал его накачивать стероидами, поэтому скорость загрузки да в прочем и юзабилити сайта должно улучшиться. В момент написания этого поста, многое сейчас не работает, но в ближайшие сроки обещаю, сделаю все качественно. Времени и сил уже нет доделать.<br> <br> За этот месяц произошло много интересного, я обязательно постараюсь позже написать! А пока если что, пишите utz0r2@ya.ru а я спать! </div> <div class="comm"> <br> <a href="/blog/">Блог</a> » <a href="/blog/note/">Заметки</a> / / 09.11.09 / <a href="/216-rock-to-the-beat.html#comment">Комментировать [0]</a> </div> </div> <div class="story"> <h3>Просто и удобно, отправка по Ctrl+Enter <a href="/215-prosto-i-udobno-otpravka-po-ctrlenter.html">#</a> </h3> <div id="news-id-215" style="display:inline;"> Собственно код:<br> <div class="scriptcode"> <script type="text/javascript"><br> function ctrlEnter(event, formElem)<br>     {<br>     if((event.ctrlKey) && ((event.keyCode == 0xA)||(event.keyCode == 0xD)))<br>         {<br>         formElem.submit.click();<br>         }<br>     }<br> </script><br> <form action="send.php" method="post" onkeypress="ctrlEnter(event, this);">...</form> </div> <br> <br> зы: Сменил хостера (ну и домен самосабой кто не заметил) <a href="/">сайт</a> должен на порядок быстрей грузиться. </div> <div class="comm"> <br> <a href="/blog/">Блог</a> » <a href="/blog/js/">JavaScript</a> / / 18.10.09 / <a href="/215-prosto-i-udobno-otpravka-po-ctrlenter.html#comment">Комментировать [0]</a> </div> </div> <div class="story"> <h3>Интернет-магазин так ли это эфективно?! <a href="/214-internet-magazin-tak-li-yeto-yefektivno.html">#</a> </h3> <div id="news-id-214" style="display:inline;"> Число покупателей не ограничено. Такой магазин может обогнать конкурирующие в данной сфере. За вашим магазином удобство, отсутствие очередей и возможность ознакомиться не спеша со всеми товарами. Интернет-магазин – это витрина, которую могут посмотреть сразу тысячи.<br> <br> Вы имеете возможность “работать” со всеми клиентами, когда-либо купившими товар в вашем интернет-магазине. Можно создать базу, можно делать рассылки, можно напоминать о себе, устраивать распродажи и дисконты. У вас появляется своя клиентская база. А это очень важно.<br> <br> Теперь у вас меньше сотрудников, которым нужно платить зарплату. Часто это семейный бизнес либо бизнес двух друзей. Один отвечает за интернет, второй за отправку посылок. Возможно, неожиданно появится третий член команды – ваша жена, которая будет проверять поступление денег к вам на счет.<br> <br> Можно даже не говорить о том, что часто за электричество, водопровод и отопление целого магазина платить не нужно. Хотя возможно всё это будет в отношении склада или производственного помещения.<br> <br> Заказы будут поступать постоянно. Ваше дело – бесперебойная поставка и… заслужить доверие конечно. </div> <div class="comm"> <br> <a href="/blog/">Блог</a> » <a href="/blog/note/">Заметки</a> / Теги: <a href="/tags/%E8%ED%F2%E5%F0%ED%E5%F2-%EC%E0%E3%E0%E7%E8%ED/">интернет-магазин</a>, <a href="/tags/%EF%F0%E8%E1%FB%EB%FC/">прибыль</a> / 11.10.09 / <a href="/214-internet-magazin-tak-li-yeto-yefektivno.html#comment">Комментировать [0]</a> <a href="/214-internet-magazin-tak-li-yeto-yefektivno.html">— Подробнее…</a> </div> </div> <div class="nav" align="center"> <a href="/blog/page/92/">Назад</a> <a href="/blog/">1</a> <span class="nav_ext">...</span> <a href="/blog/page/89/">89</a> <a href="/blog/page/90/">90</a> <a href="/blog/page/91/">91</a> <a href="/blog/page/92/">92</a> <span>93</span> <a href="/blog/page/94/">94</a> <a href="/blog/page/95/">95</a> <a href="/blog/page/96/">96</a> <a href="/blog/page/97/">97</a> <span class="nav_ext">...</span> <a href="/blog/page/114/">114</a> <a href="/blog/page/94/">Далее</a> </div> </div> </div> </div> <div id="bottom"> <div id="bottomwrap" class="clearfix"></div> </div> <div id="footer"> <div id="footerwrap"> <div class="left"> <ul> <li><a href="/" title="На Главную">Домой</a></li> <li><a href="/portfolio/" title="Портфолио">Портфолио</a></li> <li><a href="/blog/" title="Блог">Блог</a></li> <li><a href="/themes/" title="Шаблоны">Шаблоны</a></li> <li><a href="/contacts.html" title="Связь">Связаться</a></li> </ul> <div style="float:right; padding:12px 10px 0 0;"></div> </div> <div class="right"> <p>2008 © <a href="/" title="Создание сайтов | Разработка сайтов">VESELOV.SUMY.UA</a><br> Пока Вы смотрите, Я — делаю -)<br> utz0r2@ya.ru | skype utz0r2</p> </div> </div> </div> <div id="loading-layer" style="display:none"> <div id="loading-layer-text"> Загрузка. Пожалуйста, подождите... </div> </div> <script language="javascript" type="text/javascript"> //<![CDATA[ <!-- var dle_root = '/'; var dle_admin = ''; var dle_login_hash = ''; var dle_group = 5; var dle_skin = 'v'; var dle_wysiwyg = 'no'; var quick_wysiwyg = '0'; var dle_act_lang = ["Да", "Нет", "Ввод", "Отмена"]; var menu_short = 'Быстрое редактирование'; var menu_full = 'Полное редактирование'; var menu_profile = 'Просмотр профиля'; var menu_send = 'Отправить сообщение'; var menu_uedit = 'Админцентр'; var dle_info = 'Информация'; var dle_confirm = 'Подтверждение'; var dle_prompt = 'Ввод информации'; var dle_req_field = 'Заполните все необходимые поля'; var dle_del_agree = 'Вы действительно хотите удалить? Данное действие невозможно будет отменить'; var dle_complaint = 'Укажите текст вашей жалобы для администрации:'; var dle_p_send = 'Отправить'; var dle_p_send_ok = 'Уведомление успешно отправлено'; var dle_del_news = 'Удалить статью'; var allow_dle_delete_news = false; //--> //]]> </script> </body> </html>