К примеру есть на сайте набор вот таких блоков: картинка + заголовок + выдержка.
В коде соответственно имеем:
text tex text text text text
Cуть проблемы в том что заказчик хочет картинку с одной стороны
блока и текст с другой. И это при том что картинка может быть
какого угодно размера.
Итак первое и очевидное
сделать float:left; картинке, но тогда появится обтекание. Если бы знать размеры картинок - можно бы было задать ширину для выдержки и заголовка. Но в том то и дело что картинки эти могут быть любыми. Казалось бы без таблиц не обойтись, а не тут то было, можно:
div.post p{
display: table;
_height: 0;/*это для ИЕ5-6*/
zoom: 1;/*это для ИЕ7*/
}
Эта приблуда должна работать в Opera 7-8, Firefox 1.0, Safari 1.2.4, IE/win
Не сложно догадаться, что я тесно связан с разработкой сайтов на коммерческой
CMS - DLE.
И не давно столкнулся с проблемой которую никогда не видел. Оказуется длинна поста в
fullstory ограничена в
БД полем типа
TEXT. Все что больше определенной длины вырезается.
Что бы избежать этой проблемы нужно указать тип
LONGTEXT. Всего-то -)
Еще регулярные выражения и парочка полезных функций, честно скопипастеный где-то на просторах интернета:
Яндекс тИЦ
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;}
$res=str_replace(" ","",$res);
$res=str_replace("млн","000000",$res);
$res=str_replace("тыс.","000",$res);
return $res;}
Веб прокси
echo file_get_contents($_GET['q']);
$content=file_get_contents("http://урл.сайта/имя.скрипта?=".$url);
LiveInternet статистика
function listat($url){
$content = file_get_contents("http://counter.yadro.ru/values?site=".$url);
preg_match_all("|LI_([^ ]+) = (\d*);|",$content,$ok);
for($i=0; $ireturn $info;}
$ff=listat($url);
$w_vis=floor($ff[week_vis]/7);
$w_hit=floor($ff[week_hit]/7);//Средняя посещаемость за последнюю неделю
$li_vis=$ff[day_vis];
$li_hit=$ff[day_hit];//И дневная посещаемость
echo "Week $w_vis / $w_hit, today $li_vis / $li_hit";
Информация для счетчика
LiveInternet. Показывается для всех сайтов, которые не закрыли отображение инфы на счетчике (даже если сама статистика закрыта). Удобно как анализировать чужие сайты, так и просматривать суммарную посещаемость своих.
Последнее время очень часто приходиться сталкиваться с регулярными выражениями. И для понимания они очень сложны. Повторить по памяти выражение я не смогу поэтому выложу сюда как записку для себя и как заметку для вас:
Удалить определенную ссылку:
$text=preg_replace("~[^<]+?~",'',$text);
За это решение спасибо setty
Удалить спецсимволы:
$text = preg_replace ("~(\\|\*|\?|\[|\?|\]|\(|\$|\))~", "",$text);
Вывести число подписчиков в
FeedBurner:
function fb($feed){
$s=file_get_contents("http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri={$feed}");
preg_match('/circulation="(\d+)"/', $s, $a);
return $a[1];}
Выводим
Alexa Rank:
function alexa($url) {
preg_match('#(.*?)
#si', file_get_contents("http://www.alexa.com/siteinfo/{$url}"), $a);
return trim(str_replace(",","",strip_tags($a[1])));}
Сайт вернулся в рабочий режим, я начал его накачивать стероидами, поэтому скорость загрузки да в прочем и юзабилити сайта должно улучшиться. В момент написания этого поста, многое сейчас не работает, но в ближайшие сроки обещаю, сделаю все качественно. Времени и сил уже нет доделать.
За этот месяц произошло много интересного, я обязательно постараюсь позже написать! А пока если что, пишите igor@veselov.sumy.ua а я спать!
Собственно код:
зы: Сменил хостера (ну и домен самосабой кто не заметил)
сайт должен на порядок быстрей грузиться.