Офис НП 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-функции. Продолжение.
Красивый вывод даты добавления сообщения
Конечно же, можно сделать подобный вывод не только для сообщений, но и для статей, новостей, комментариев и т.п. После обработки даты и времени из твоей бд, будет примерно следующее: Добавлено: Сегодня в 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("&", """, "'", "\", """, "'", "<", ">");
$text = str_replace($enc, $dec, $text);
if (strlen($text) > $length) $text = substr($text, 0, ($length-3))."...";
$text = str_replace($dec, $enc, $text);
return $text;
}
На этом все. Всех благ тебе, начинающий ВебМастер!
Понравилась статья?
Метки для данной статьи
Похожие статьи
Заголовок
Категория
Просмотров
Поделиться:
Последние активные темы форума
Темы | Просмотров | Ответов | Последние сообщения | |
Вопрос по переделке bb-кода PHP, MySQL |
22588 | 5 | Pisatel 26. мая 2017 |
|
Вопросы по Ajax форме обратной связи CMS PHP Fusion |
70060 | 48 | Ditrin 19. февраля 2017 |
|
BBCode YouTube Video Colorbox mod CMS PHP Fusion |
15540 | 2 | Pisatel 10. декабря 2016 |
|
Как лучше создать собственную страницу? CMS PHP Fusion |
18132 | 17 | Pisatel 11. мая 2016 |
|
Небольшие вопросы по скриптам магазина и катало... PHP, MySQL |
147748 | 80 | Pisatel 11. января 2016 |
|
BBCode Code mod CMS PHP Fusion |
14643 | 0 | Pisatel 31. августа 2015 |
|
Ajax Like Dislike Article Panel CMS PHP Fusion |
22845 | 16 | Pisatel 07. июля 2015 |
|
Хлебные крошки / BreadCrumbs SEO Panel CMS PHP Fusion |
26593 | 17 | Pisatel 04. июля 2015 |
|
Abbr Description BBCode CMS PHP Fusion |
7747 | 0 | Pisatel 15. июня 2015 |
|
Плагин Email рассылки Mail To All by Pisatel CMS PHP Fusion |
37599 | 32 | Pisatel 26. апреля 2015 |
|
Подозрительный трафик и прочие страшилки Всякая хрень |
11923 | 2 | Ditrin 23. апреля 2015 |
|
Мод Newsletter - рассылка писем пользователям с... CMS PHP Fusion |
31229 | 13 | Pisatel 10. апреля 2015 |
|
Мод отправки писем PHPMailer для PHP-Fusion CMS PHP Fusion |
131194 | 113 | Ditrin 06. апреля 2015 |
|
Появление неизвестного файла subscriptions.php CMS PHP Fusion |
8929 | 2 | Pisatel 06. апреля 2015 |
|
Autoban on IP CMS PHP Fusion |
23365 | 13 | Pisatel 03. апреля 2015 |