Офис НП AMWAY в Ярославле
Купить продукцию Амвей в Ярославле
На карте Купить AMWAY в ЯрославлеПриобрести высококачественную продукцию Амвей в Ярославле, получить консультации по бизнесу, заказать продукцию или получить заказ:
Адрес: улица Валентины Терешковой, дом 1 (Вход со двора)
Телефон: +7 (920) 112-00-91
Email: matyxho@mail.ru
Сайт: https://www.amway.ru/user/lebedem
Визитка: http://yar.meweb.ru
Иерархия статей
Статьи » Программирование » Полезные PHP-функции. Продолжение.
Сниппет
И вновь, в продолжение темы, несколько интересных и полезных функций PHP
Полезные PHP-функции. Продолжение.
Опубликовал  Pisatel Pisatel Добавлено  18-04-2013 15:49 18 Апрель 2013 15:49:41 3619  Прочтений 3619 Прочтений
 printer

Красивый вывод даты добавления сообщения



Конечно же, можно сделать подобный вывод не только для сообщений, но и для статей, новостей, комментариев и т.п. После обработки даты и времени из твоей бд, будет примерно следующее: Добавлено: Сегодня в 13.02 или Вчера в 18.00, ну а если не вчера и не сегодня, будет выведен день недели, а если не на этой неделе- то просто красивая дата:

Код: PHP


function date_transform($time){

//Сегодня

if(intval(date("d", $time)) == intval(date("d", time())

))

// Если числа одинаковые

{

$time_text="Сегодня в ".date("H:i", $time); return $time_text;

}

//Вчера

if( (intval(date("d", time())) - intval(date("d", $time))) == 1)

// Если текущее число, минус заданное, равно одному, значит вчера

{

$time_text = "Вчера в ".date("H:i", $time); return $time_text;

}

//На этой неделе

if( (time() -$time) < 604800)

//604800 - это количество секунд в неделе. если и не вчера и не сегодня, то проверяем, произошло ли заданное событие в течение последних семи дней. если да, то выводим время с днем недели

{

$d = date("l", $time);

$time_2 = str_replace(array(

'Sunday','Monday','Tuesday','Wednesday','Friday','Saturday'),

array(

'Вс','Пн','Вт','Чт','Пт','Сб'),$d);

$time_text = $time_2.' '.date("H:i", $time);

return $time_text;

}

//В этом году

if(date("Y", $time) == date("Y", time()))

//Если ни вчера, ни сегодня, и не на этой неделе, но в этом году, то выводим число месяц и время

{

$montharr = array("янв","фев","мар","апр","мая","июн","июл","авг","сен","окт","ноя","дек");

$i = date("m",$time) -1;

return date("j",$time)."$montharr[$i]".date("H:i",$time);

}

//Если ни одно из условий не совпало, то просто выводим целую дату

$montharr2 = array("янв","фев","мар","апр","мая","июн","июл","авг","сен","окт","ноя","дек");

$i = date("m",$time) -1;

return date("j",$time)."$montharr2[$i]".date("Y в H:i",$time);

}

//за пример возьму вчерашнюю дату в формате Unix timestamp

$data = '1366193071';

echo date_transform($data);

//получили: Вчера в 14.04




Генерация всех возможных вариантов перестановок



Код: PHP
//Генерация всех возможных перестановок

//Author Okula

//@param array $newarr заполняемый массив

//@param string $string исходная строка

//@param string $prefix префикс



function variant(array &$newarr, $string, $prefix=''){

if(empty($string)) {

$newarr[] = $prefix;

return;

}

$len = mb_strlen($string, 'utf-8');

for($i=0;$i < $len;$i++) {

$string_array = str_split($string);

if(isset($string_array[$i]))

unset($string_array[$i]);

variant($newarr, implode('', $string_array),$prefix.$string{$i});

}

}

//вывод

$string = 'abcdef';

$arr = array();

variant($arr, $string);

var_dump($arr);

//Результат работы

//abcdef

//abcdfe

//abcedf

//abcefd

//abcfde

//abcfed

//abdcef

//abdcfe и т.д.




Функция, заменяющая некоторые проблемные символы на мнемоники



Мне данная функция пригодилась, например, для вывода description к товарам (функция взята из CMS PHP Fusion):

Код: PHP
function trimlink($text, $length) {

$dec = array("&", "\"", "'", "\", '\"', "\'", "<", ">");

$enc = array("&amp;", "&quot;", "&#39;", "&#92;", "&quot;", "&#39;", "&lt;", "&gt;");

$text = str_replace($enc, $dec, $text);

if (strlen($text) > $length) $text = substr($text, 0, ($length-3))."...";

$text = str_replace($dec, $enc, $text);

return $text;

}






На этом все. Всех благ тебе, начинающий ВебМастер!
Понравилась статья?
Метки для данной статьи
Похожие статьи
Поделиться:   
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
folder Вопрос по переделке bb-кода
PHP, MySQL
19311 5 Pisatel
26. мая 2017
folder Вопросы по Ajax форме обратной связи
CMS PHP Fusion
54210 48 Ditrin
19. февраля 2017
folder BBCode YouTube Video Colorbox mod
CMS PHP Fusion
13492 2 Pisatel
10. декабря 2016
folder Как лучше создать собственную страницу?
CMS PHP Fusion
15764 17 Pisatel
11. мая 2016
folder Небольшие вопросы по скриптам магазина и катало...
PHP, MySQL
116265 80 Pisatel
11. января 2016
folder BBCode Code mod
CMS PHP Fusion
12219 0 Pisatel
31. августа 2015
folder Ajax Like Dislike Article Panel
CMS PHP Fusion
19537 16 Pisatel
07. июля 2015
folder Хлебные крошки / BreadCrumbs SEO Panel
CMS PHP Fusion
22416 17 Pisatel
04. июля 2015
folder Abbr Description BBCode
CMS PHP Fusion
6755 0 Pisatel
15. июня 2015
folder Плагин Email рассылки Mail To All by Pisatel
CMS PHP Fusion
32148 32 Pisatel
26. апреля 2015
folder Подозрительный трафик и прочие страшилки
Всякая хрень
10539 2 Ditrin
23. апреля 2015
folder Мод Newsletter - рассылка писем пользователям с...
CMS PHP Fusion
16407 13 Pisatel
10. апреля 2015
folder Мод отправки писем PHPMailer для PHP-Fusion
CMS PHP Fusion
104773 113 Ditrin
06. апреля 2015
folder Появление неизвестного файла subscriptions.php
CMS PHP Fusion
7974 2 Pisatel
06. апреля 2015
folder Autoban on IP
CMS PHP Fusion
21606 13 Pisatel
03. апреля 2015