Показать сообщение отдельно

  #59  
Старый 21.03.2007, 15:46
Joker-jar
Постоянный
Регистрация: 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 код:
zonetime(time(),+3); 
покажет московское время (независимо от того, в каком поясе расположен сервер )

Следующий скрипт весьма полезен (писал для своей гостевой). Выводит мыла таким образом, чтоб их не смогли воровать роботы-собиральщики мыл (во как):

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,".")+1strlen($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;

Пока все. Удачи!
 
Ответить с цитированием