Web Мастерская
Сделать первую букву строки заглавной на PHP
Бывает необходимым сделать первую букву строки заглавной и это легко решается при помощи функции ucfirst, предназначение данной функции - преобразовать первый символ строки в верхний регистр. Делаем так:
На экране получим:
Все просто и понятно. Но, как вы могли заметить обрабатывали мы латинские символы, а что если мы сделаем тоже самое, но с кириллическими символами:
На экране будет:
То есть преобразование не произошло... Есть вариант заменить функцию ucfirst на вот такую конструкцию:
Где используются две функции:
Делаем так:
И получаем результат на экране:
Все работает!...
$line = 'line example';
echo ucfirst($line);На экране получим:
Line example
Все просто и понятно. Но, как вы могли заметить обрабатывали мы латинские символы, а что если мы сделаем тоже самое, но с кириллическими символами:
$line = 'пример строки';
echo ucfirst($line);На экране будет:
пример строки
То есть преобразование не произошло... Есть вариант заменить функцию ucfirst на вот такую конструкцию:
mb_strtoupper(mb_substr($line, 0, 1)) . mb_substr($line, 1);Где используются две функции:
- mb_strtoupper - преобразует строку в верхний регистр.
- mb_substr - возвращает часть строки.
Делаем так:
$line = 'пример строки';
echo mb_strtoupper(mb_substr($line, 0, 1)) . mb_substr($line, 1);И получаем результат на экране:
Пример строки
Все работает!...
- Жалоба
Как определить от куда пришёл пользователь на PHP
Сейчас мы с вами будем разбираться, как определить от куда пришел пользователь. Собственно тут и разбираться не в чем, для этого будем использовать элемент суперглобального массива
Значение элемента
И мы увидим адрес страницы с которой перешел пользователь. Но есть один "промах", если пользователь не перейдет на страницу по ссылке, а введет в адресную строку адрес, где мы выводи значение переменной на экран, которого на самом деле нет, так как не было "предыдущей" страницы, то получим ошибку такого вида:
Решение может быть простым, просто перед выводом на экран значения, проверять переменную на пустоту, например, так:
Ну или...
$_SERVER - HTTP_REFERER.Значение элемента
$_SERVER['HTTP_REFERER'] - это адрес предыдущей страницы, от куда пришел пользователь по ссылке. Нам достаточно вывести значение переменной на экран:
echo $_SERVER['HTTP_REFERER'];И мы увидим адрес страницы с которой перешел пользователь. Но есть один "промах", если пользователь не перейдет на страницу по ссылке, а введет в адресную строку адрес, где мы выводи значение переменной на экран, которого на самом деле нет, так как не было "предыдущей" страницы, то получим ошибку такого вида:
Notice: Undefined index: HTTP_REFERER in /.../.../.../
Решение может быть простым, просто перед выводом на экран значения, проверять переменную на пустоту, например, так:
echo isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'Адрес не определен.';Ну или...
Как получить локацию пользователя по IP адресу
Стояла задача получить локацию пользователя по его IP адресу. Для решения задачи, надо определить IP адрес посетителя, для этого я использую переменную из суперглобального массива $_SERVER['REMOTE_ADDR']. Дальше, используя полученный IP составить URL файла, который необходимо прочесть, читать файл будет функция file_get_contents. Читаемый файл находится на сайте http://ipinfo.io/ именно туда будем посылать запрос. Код читаемого файла написан в JSON, поэтому придется декодировать полученную строку в массив, для этого использую функцию json_decode. С решением разобрались, переходим к самому коду, код прокомментировал, для лучшего понимания, что происходит:
Теперь массив
$ip = $_SERVER['REMOTE_ADDR']; # Получаем IP адрес пользователя
$url = 'http://ipinfo.io/' . $ip . '/json'; # Составляем адрес для чтения
$info = file_get_contents($url); # Читаем файл
$info = json_decode($info, true); # Декодируем JSON строку в массивТеперь массив
$info содержит в...Проверка корректности адреса электронной почты на PHP
При регистрации нового пользователя или при подписки на рассылку, пользователь вводит адрес своей электронной почты, который необходимо проверить на корректность, дабы избежать возможных ошибок при вводе адреса. Делать это лучше при помощи регулярного выражения. Давно, в интернете я нашел одно регулярное выражение (где именно, я не помню), которое мне понравилось и я им пользуюсь до сих пор, сама регулярка выглядит так:
Тут проверяется весь адрес:
Использовать это регулярное выражение надо функцией preg_match, данная функция...
^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$Тут проверяется весь адрес:
- Первая часть (логин), до собаки, он может состоять из букв латинского алфавита, цифр, дефиса и нижнего подчеркивания.
- Собака (@), собака должна присутствовать сразу после логина.
- Адрес почтового сервиса, что следует после символа собаки. Он может состоять из букв латинского алфавита, цифр и дефиса. Обязательно должна быть точка, после точки следуют буквы латинского алфавита, в количестве от двух до шести.
Использовать это регулярное выражение надо функцией preg_match, данная функция...
Как найти наименьшее и наибольшее число в PHP (min | max)
Может потребоваться найти наименьшее или наибольшее число при написании, какого ни будь сценария, сейчас расскажу, как это можно сделать.
Допустим у нас есть массив чисел, вот такой:
Массив состоит из семи чисел в хаотичном порядке, но порядок и количество чисел не имеет значения. Из этого массива нам надо получить наименьшее число, для этого в PHP существует функция min, ее предназначение находить самое маленькое число из представленных. делаем так:
Теперь переменная
Теперь давайте попробуем найти самое большое число из массива. Для этого будем использовать функцию max - эта функция противоположная функции min, в отличии от min, функция max находит наибольшее число. Делаем так:
И переменная
В эти две функции (min | max) можно вставлять...
Допустим у нас есть массив чисел, вот такой:
$array = array(700, 255, 333, 667, 888, 1200, 512);Массив состоит из семи чисел в хаотичном порядке, но порядок и количество чисел не имеет значения. Из этого массива нам надо получить наименьшее число, для этого в PHP существует функция min, ее предназначение находить самое маленькое число из представленных. делаем так:
$min = min($array); Теперь переменная
$min содержит в себе самое маленькое число из массива, то есть 255.Теперь давайте попробуем найти самое большое число из массива. Для этого будем использовать функцию max - эта функция противоположная функции min, в отличии от min, функция max находит наибольшее число. Делаем так:
$max = max($array);И переменная
$max содержит в себе самое большое число массива, это число - 1200.В эти две функции (min | max) можно вставлять...
