Бесплатные обучающие уроки

Эта рубрика целиком и полностью посвящена урокам на разные темы. Здесь содержаться статьи по компьютерной грамотности, уроки создания сайтов на HTML, CSS, PHP, CMS Wordpress и других, программировании на Javascript, работе в редакторе Adobe Photoshop и других программах, поисковой оптимизации и многих других.

Массовая замена значений в базе данных MySQL

Замена текста в MySQL

Привет, ребята! Кто давно ведет свой блог или сайт, то наверняка сталкивались с ситуацией, когда нужно что-то массово поменять на сайте. Это может быть текст, картинки, кнопки и другие элементы оформления. Если статей уже 100 штук, то как-то не хочется по очереди их редактировать. И для этого существуют SQL запросы, примерно такие же, как при создании CRUD приложения, которые значительно облегчают нам жизнь и позволяют произвести массовую замену строк и отдельных символов в базе данных MySQL. C одним из таких запросов мы познакомимся прямо сейчас.

UPDATE Имя таблицы SET Имя поля = REPLACE(Имя поля, 'строка для замены', 'чем заменяем');

Если необходимо что-то массово заменить в статьях на сайте под управлением CMS WordPress, то запрос будет выглядеть так:

UPDATE wp_posts SET post_content = REPLACE(post_content, 'site.ru', 'serblog.ru');

Поиск и замена в Mysql

Просто копируете, меняете на что-то свое и в PHPMyadmin переходите во вкладку SQL, вставляете и выполняете этот запрос. Но перед тем как производить массовую замену в MySQL, я бы посоветовал сделать резервную копию базы данных, чтобы когда что-то пойдет не так, можно было быстро откатиться в исходное состояние.

Как менять CSS стили в зависимости от времени суток

CSS по времени суток

Всем привет. Вы наверняка видели на некоторых сайтах такую интересную фишку, если зайти днем, то фон и элементы дизайна в светлом стиле, а если вечером или ночью, то в темном. И еще бывает приветственная надпись, типа: Добрый вечер, добрый день или доброе утро. То есть CSS стили автоматически меняются в зависимости от времени суток. Это эффектный прием, который на посетителя производит хорошее впечатление. Такой сайт у него отложится в памяти и, возможно, он вернется на него снова. К счастью такую фичу реализовать достаточно легко с помощью PHP или JavaScript. Я уже писал о том, как добавить дату и время на сайт и о некоторых нюансах разных способов. Сейчас же мы будем работать только со временем. и наxнем с PHP.

Меняем стили сайта по времени суток на PHP

Тут все до безобразия просто.

1
2
3
4
5
if(date('H') > 00 && date('H') < 06){
  $style = '/css/style-night.css';
}else{
  $style = '/css/style.css';
}

Мы просто говорим скрипту, что если время сервера больше 00:00 или меньше 06:00, то устанавливаем ночные стили для сайта. Если время меньше 00:00 и больше 06:00, то CSS будут обычными.

<link rel='stylesheet' href='<php echo $style; ?/>' type='text/css' media='all'>

Можно так же просто изменить цвет фона в зависимости от времени суток.

1
2
3
4
5
if(date('H') > 00 && date('H') < 06){
  $bg = '#333';
}else{
  $bg = '#fff';
}

И в head прописать:

1
2
3
<style type="text/css">
background: < ?php echo $bg; ?>;
</style>

Минус такого подхода в том, что на сайт могут заходить из разных часовых поясов, а время будет браться с сервера и будет неизменным. То есть если время сервера московское, то пользователям из Владивостока такая штука может не понравиться. Поэтому плавно переходим ко второму способу.

Меняем стили сайта по времени суток на JavaScript

Здесь практически все то же самое, только скрипт будет ориентироваться на время, которое установлено на устройстве пользователя. В подавляющем большинстве случаев оно соответствует региону нахождения.
Поэтому наша идея отлично сработает и мы сможет показать персонально каждому отдельные стили в зависимости от времени суток.

1
2
3
4
5
6
7
var data = new Date();
var link = document.querySelector('link[rel="stylesheet"]');
if (data.getHours() > 0 && data.getHours() < 6) {
  link.setAttribute('href', '/css/style-night.css');
}else{
  link.setAttribute('href', '/css/style.css');
}

Или так:

1
2
3
4
5
6
7
var data = new Date();
var body = document.querySelector('body');
if (data.getHours() > 0 && data.getHours() < 6) {
  body.style.background = '#777';
}else{
  body.style.background = '#fff';
}

Таким образом можно менять CSS стили в зависимости от того, день сейчас или ночь, делать красивые приветствия, менять фон и изображения и полностью весь дизайн. Если что-то непонятно, пишите в комментариях, обсудим.

Определение мобильных устройств при помощи Mobile Detect php

mobiledetect php

Приветствую вас. Продолжаем исследовать возможности языка PHP и сейчас познакомимся с небольшой библиотекой, с помощью которой можно определять мобильные устройства пользователей на сайте. При чем определить можно даже марку телефона. Для чего это нужно? С большой уверенностью могу сказать, что подобные технологии используются в рекламных системах, в частности таргетированной рекламе. Это позволяет делать более персонализированные предложения. К примеру если вы продаете аксессуары для айфона, то имеет смысл показывать рекламу только тем, кто пользуется этими гаджетами, а для остальных скрыть или сделать переадресацию. Такой подход более профессиональный. На своем сайте вы тоже можете сделать нечто подобное. К примеру тем, кто заходит с мобильных — показать ссылку на телеграмм-канал, который будет запускаться автоматом (проверьте на моем), а тем, кто попал на сайт со стационарного компьютера — показать что-то другое. Не будем отрицать очевидные плюсы mobile detect library и перейдем к ее установке.

Установка PHP библиотеки Mobile Detect

Для подключения достаточно одного файла. Сделать это можно следующим образом.

require_once "Mobile_Detect.php";

Вот ссылка на реппозиторий гитхаба. Там есть описание по установке на различные CMS, в том числе и WordPress, а так же популярные фреймворки. А теперь самое время перейти к примерам использования.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$detect = new Mobile_Detect;
if($detect->isAndroidOS()){
  echo "Андроид-устройство версии: ".$detect->version('Android');
}
if($detect->isiOS()){
  echo "IOS-устройство версии: ".$detect->version('iOS');
}
if ($detect->isMobile()) {
  echo '<br />Вы зашли с мобильного';
}
if($detect->isTablet()){
  echo '<br />Вы зашли с планшета';
}
if ($detect->isLG()) {
  echo '<br />Ваш смартфон LG';
}
if ($detect->isSamsung()) {
  echo '<br />Ваш смартфон Samsung';
}

Кроме определения мобильных устройств в этой библиотеке предусмотрена возможность определять браузер и его версию. Правда пока в бета режиме. Но при тестировании все работает отлично.

1
2
3
4
5
6
if ($detect->is('Chrome')) {
  echo "<br />Версия Chrome: ".$detect->version('Chrome');
}
if ($detect->is('Opera')) {
  echo "<br />Версия Opera: ".$detect->version('Opera');
}

Демо

Теперь вы знаете как определить мобильные телефоны и планшеты при помощи PHP. Поделитесь в комментариях если знаете еще подобные и более функциональные библиотеки.

Обрезать текст по количеству слов и символов в PHP

Обрезать строку по символам и словам

В PHP очень часто приходится работать со строками, даже в небольших проектах, таких, как CRUD приложение. И одной из наиболее часто встречающихся задач является обрезка текста по количеству символов или целым словам К примеру для публикации анонсов статей, которые выводятся из БД MySQL. К счастью гибкость языка позволяет нам делать многие вещи, в том числе и эти. И давайте на примерах рассмотрим как обрезать строку на PHP и в конце поставить многоточие. А для того, чтобы вам было понятно о чем идет речь, я подготовил демо-страницу.

Демо

Обрезать текст по количеству символов

Скажу сразу, что в примере используются кириллические символы в кодировке UTF-8. Вот сам код:

1
2
3
4
5
6
$val = $_POST['val'];
$text = $_POST['text'];
$text = strip_tags($text);
$text = @mb_substr($text, 0, $val);
$text = trim($text, "!,.- ");
echo $text."...";

Обрезка текста по символам PHP
Теперь по порядку.

  1. Количество символов получаемых из массива POST
  2. Получаемый текст, который нужно обрезать
  3. Удаление всех HTML тегов
  4. Функция обрезки текста (что обрезать, с какого символа начинать, на какую длину обрезать)
  5. Убрать указанные знаки препинания и пробел в конце
  6. Вывод текста с многоточием или ссылкой на полный текст

Вариаций исполнения на эту тему может быть много, ваша фантазия здесь ничем не ограничена.

Обрезать строку PHP по словам

1
2
3
4
$array = explode(" ", $text_word);
$array = array_slice($array, 0, $val_word);
$newtext = implode(" ", $array);
echo $newtext."...";
  1. Делаем из строки массив, где разделителем будет пробел
  2. Выбираем количество слов из переменной val_word, которые нужно вывести. 0 — с какого слова начинать
  3. Делаем массив опять строкой
  4. Выводим то, что получилось

Как видите, ничего сложного. Все зависит от контекста вашей задачи, а реализацию уже подогнать под нее. На тестовой странице наглядно демонстрируется работа этих функций. Подгрузка контента осуществляется без перезагрузки страницы с помощи AJAX, поэтому может показаться, что все работает на Javascript. Если возникнут вопросы — смело задавайте их в комментариях.

Как сделать первую букву заглавной в PHP

Первая буква в верхнем регистре на PHP

Я постараюсь дать максимально развернутый ответ на вопрос: как сделать первую букву заглавной в PHP. Хотя это из разряда стандартных функций языка, которая способна хоть немного, но упростить жизнь, но если вы сюда зашли, значит не все так однозначно. Встречается довольно часто, можно использовать практически в любых проектах, например в том же CRUD приложении. Что ж, давайте разбираться. Изначально функция выглядит так:

1
2
$string = "hello";
ucfirst($string); // Hello

Преобразовать первую букву слова в верхний регистр довольно просто, если вы пишете исключительно на латинском, но если использовать кириллицу, то здесь нас ждет разочарование. Конструкция в таком виде не сработает. Но у нас есть решение. Вот его пример:

1
2
$txt = "привет мир!";
echo mb_convert_case($txt, MB_CASE_TITLE); // Привет Мир!

Но здесь есть один недостаток. Дело в том, что заглавной станут буквы каждого слова в строке. Это нужно далеко не всегда, поэтому идем дальше. Все-таки PHP уникальный язык, он позволяет включить фантазию и сделать что-то свое. Вот, например, одно из нестандартных решений этой задачи:

1
2
3
4
5
$txt = "привет букет";
 $str = mb_strtoupper(substr($txt,0,2));
 $txt[0] = $str[0];
 $txt[1] = $str[1];
 echo $txt; // Привет букет

Теперь вы знаете как сделать первую букву заглавной в PHP в кириллическом тексте.