|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме: 4172659
Репутация:
646
|
|
Вывод даты нормальным русским языком:
PHP код:
function rusdate($d)
{
$montharr = array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
$i = date("m",$d) - 1;
return date("j",$d)." $montharr[$i] ".date("Y",$d);
}
Узнаем серверное время со сдвигом часовых поясов:
PHP код:
function zonetime($date,$zone)
{
$date+=$zone*3600;
return gmdate("d.m.Y H:i",$date);
}
Например, echo покажет московское время (независимо от того, в каком поясе расположен сервер  )
Следующий скрипт весьма полезен (писал для своей гостевой). Выводит мыла таким образом, чтоб их не смогли воровать роботы-собиральщики мыл (во как):
PHP код:
function showemail($email)
{
echo "<script language=\"JavaScript\"><!--\n".
"document.write('".substr($email,0,strpos($email,"@"))."'+'@'+'".
substr($email,strpos($email,"@")+1,strpos($email,".")-strpos($email,"@")-1)."'+'.'+'".
substr($email,strpos($email,".")+1, strlen($email) - strpos($email,".")-1)."');\n".
"//--></script>\n";
}
(подразумевается, что используется валидный параметр вида бла@бла.бла, проверку мутите еще при вносе в БД мыла =))
Так-с, идем дальше. Так я обычно проверяю, является ли какой-либо параметр числом:
PHP код:
function IsDigit($d)
{
return (!(empty($d)) && ctype_digit($d));
}
Замена в тексте всех мыл и урлок на соответствующие ссылки:
PHP код:
$text = ereg_replace('[-a-z0-9!#$%&\'*+/=?^_`{|}~]+@([.]?[a-zA-Z0-9_/-])*','<a href="mailto:\\0">\\0</a>',$text);
$text = ereg_replace(' [a-zA-Z]+://(([.]?[a-zA-Z0-9_/-])*) ',' <a href="\\0">\\1</a> ',$text);
$text = ereg_replace(' (^| )(www([-]*[.]?[a-zA-Z0-9_/-?&%])*) ',' <a href="http://\\2">\\2</a> ',$text);
Часто на сайтах слева и справа бывают узкие колонки, куда можно повпихивать всякую интересную инфу (например, последние темы с форума). Но если попадается длинное слово, то колонка разъезжается, становится хз че. Следующая функция разрезает на куски только те слова, которые длиннее заданного параметра. Очень полезно:
PHP код:
function break_long_words($source_text,$lng)
{
$regExp='/(\S{'.$lng.',})/ei';
$res_text=preg_replace($regExp,"wordwrap('\\1',$lng,'\n',1)",$source_text);
return $res_text;
}
Пока все. Удачи!
|