Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

Правила написания эстетичного кода на PHP

Очень часто программисты сталкиваются с проблемой рефакторинга программного кода. Код может быть полностью рабочим, но написан просто ужасно. Создатель этого кода может игнорировать всякий стиль его написания: использовать как жёсткую, так и мягкую табуляцию, и много подобных вещей. То есть код фактически рабочий, но сделан явно неумело, либо на скорую руку.

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

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

Автозамена слов в тексте (Анти Мат) на PHP

PHP
Недавно пришлось написать PHP скрипт Анти Мата для одного своего проекта. Скрипт получился несложным, небольшим, но отлично справляется со своей задачей. И так, я использовал функцию str_replace(), данная функция заменяет заданные слова/фразы найденные в тексте на те которые заданы для замены. Дальше получаем текст в переменную $text, создаем массив с запрещенными словами, то есть слова, которые надо сменить на другое слово или фразу. Делаем так:
$censor = array( 
    'BIOS',
    'работоспособность',
    'материнская плата', 
); 

Тут конечно у Вас будет свой набор слов/фраз, можно добавить больше заменяемых слов. Теперь пишем то слово, которое будет заменять найденные слова из массива в тексте:
$replace = '<b>[censor]</b>';

Ну а теперь собственно сам процесс поиска и замена слов в тексте:
$text = str_replace($censor, $replace, $text);

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

Добавление данных в Базу Данных через форму (PHP + MySQL)

В этом посте хочу рассказать, как передать в Базу Данных, введенные данные в форму. И так мы создаем простую форму, где у нас будет два поля: имя пользователя и его электронная почта:
<form name:"forma" action="index.php" method="post">
 Ваше имя: <input type="text" name:"name"><br />
 Ваш E-mail: <input type="text" name:"email"><br />
<input name:"submit" type="submit" value="Отправить"> 
</form>

Эта форма может применятся для регистрации нового пользователя, для рассылки новостей, для сбора статистики, да для чего угодно... В общем в эту форму пользователь забивает свои данные: имя и почту, нажимает на кнопку и дальше данные переходят в php скрипт:
$name = $_POST['name'];
$email = $_POST['email']; 

$result = mysqli_query("INSERT INTO user (name, email) 
VALUES ('$name', '$email')");
if ($result) {
    echo "Данные успешно сохранены!";
}
else {
    echo "Произошла ошибка, пожалуйста повторите попытку.";
} 

Что же в этом скрипте происходит? Сейчас...

Обрезать строку до и после определенного символа (PHP)

PHP
Была необходимость разобрать строку на куски до и после определенного символа.
Я разбирал URL на части до и после слеша (/), для скрипта редиректа внешних ссылок, что бы вытащить домен сайта. Разбивал строку при помощи функции explode(), данная функция для этого и предназначена, что бы строки разбивать на подстроки.

Вот как я это сделал:
Забил URL в переменную:
$value = 'https://www.google.com/doodles/claude-debussys-151st-birthday'; 

В данном URL (как и в любом другом) есть несколько слешов /, что мне и надо, они та и будут служить мне тем символом, по который строка будет обрезаться.
Дальше разбиваю URL на подстроки, до и после слеша:
$domain = explode('/', $value); 

Строка разбивается на следующие подстроки: https:, www.google.com, doodles, claude-debussys-151st-birthday, у каждой подстроки есть свой порядковый номер, начиная с ноля (массив). Получается так:
echo $domain[0]; # Выводит на экран - https:
echo $domain[1]; # Выводит на экран - (пустая строка,
...

Как восставить текст из каракулей на PHP

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

Немного предисловия.
Случаются такие ситуации, в которых при смене кодировки между windows-1251 и UTF-8 текст, написанный на кириллице, преобразуется примерно вот в такие каракули: "Проверочный".
Если Вы не сохранили резервную копию перед изменениями, последствия могут быть необратимы. Но не в нашем случае :) Немного поработав над этим вопросом, я составил вот такой массив:
array
( 
    'Р°'=>'а', 'Р±'=>'б', 
    'РІ'=>'в', 'Рі'=>'г', 
    'Рґ'=>'д', 'Рµ'=>'е',
    'С‘'=>'ё', 'Р¶'=>'ж',
    'Р·'=>'з', 'Рё'=>'и',
    'Р№'=>'й', 'Рє'=>'к',
    'Р»'=>'л', 'Рј'=>'м', 
    'РЅ'=>'н', 'Рѕ'=>'о',
    'Рї'=>'п', 'СЂ'=>'р', 
    'СЃ'=>'с', 'С‚'=>'т', 
    'Сѓ'=>'у', 'С„'=>'ф', 
    'С…'=>'х', 'С†'=>'ц',
    'С‡'=>'ч', 'С€'=>'ш', 
    'С‰'=>'щ', 'СЉ'=>'ъ', 
    'С‹'=>'ы', 'СЊ'=>'ь', 
   
...