Офис НП AMWAY в Ярославле
Купить продукцию Амвей в Ярославле, офис 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 Добавлено  18-04-2013 15:49 18 Апрель 2013 15:49:41 2181  Прочтений 2181 Прочтений  0 Комментариев 0 Комментариев
 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 Плагин Email рассылки Mail To All by Pisatel
CMS PHP Fusion
13257 33 promask
27. апреля 2019
folder Вопрос по переделке bb-кода
PHP, MySQL
3331 5 Pisatel
26. мая 2017
folder Вопросы по Ajax форме обратной связи
CMS PHP Fusion
13801 48 Ditrin
19. февраля 2017
folder BBCode YouTube Video Colorbox mod
CMS PHP Fusion
7707 2 Pisatel
10. декабря 2016
folder Как лучше создать собственную страницу?
CMS PHP Fusion
7056 17 Pisatel
11. мая 2016
folder Небольшие вопросы по скриптам магазина и катало...
PHP, MySQL
52716 80 Pisatel
11. января 2016
folder BBCode Code mod
CMS PHP Fusion
4027 0 Pisatel
31. августа 2015
folder Ajax Like Dislike Article Panel
CMS PHP Fusion
8159 16 Pisatel
07. июля 2015
folder Хлебные крошки / BreadCrumbs SEO Panel
CMS PHP Fusion
9199 17 Pisatel
04. июля 2015
folder Abbr Description BBCode
CMS PHP Fusion
3042 0 Pisatel
15. июня 2015
folder Подозрительный трафик и прочие страшилки
Всякая хрень
5705 2 Ditrin
23. апреля 2015
folder Мод Newsletter - рассылка писем пользователям с...
CMS PHP Fusion
7728 13 Pisatel
10. апреля 2015
folder Мод отправки писем PHPMailer для PHP-Fusion
CMS PHP Fusion
41279 113 Ditrin
06. апреля 2015
folder Появление неизвестного файла subscriptions.php
CMS PHP Fusion
3720 2 Pisatel
06. апреля 2015
folder Autoban on IP
CMS PHP Fusion
13635 13 Pisatel
03. апреля 2015