Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

PHP в примерах, просто о сложном


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


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

Создаем выражение.
1)К примеру, нам надо создать выражение, в котором будет весь русский алфавит
[а-я]
Не правда ли легче? Чем писать все 33 символа. Точно также можно указать любой промежуток [a-c] ,[е-п] и подобные. Пока что наше выражение включает в себя лишь буквы в нижнем регистре. Давайте сделаем так, чтобы в выражении имелись буквы как нижнего, так и верхнего регистра.
[а-яА-Я]
Как видите все просто.

Ветвистое выражение
Иногда требуется ввести в выражения операторы типа OR(или). Такое может потребоваться, когда вы проверяете введенный url. Допустим нам надо, чтобы домен оканчивался на “ru”,”info”,”org”.Условие ИЛИ задается символом “|”.
“ru|info|org”
В результате чего выражение будет искать домены в зонах “ru”,”info”,”org”.

Опускание символов.

Можно так же запретить некоторые символы. Давайте запретим все числа, начиная от 1 и заканчивая 10.
[^1-10]
Именно символ “^” указанный в квадратных скобках, означает “Не”

Границы
это числа в фигурных скобках, указывающие количество вхождений в строку фрагмента выражения, непосредственно предшествующего границе:
"xy{2}" соответствует строке, в которой за x следует два y;
"xy{2,}" соответствует строке, в которой за x следует не менее двух y (может быть и больше);
"xy{2,6}" соответствует строке, в которой за x следует от двух до шести y;

Для указания количества вхождений не одного символа, а их последовательности, используются круглые скобки:
"x(yz){2,6}" соответствует строке, в которой за x следует от двух до шести последовательностей yz;
"x(yz)*" соответствует строке, в которой за x следует ноль и более последовательностей yz;

Начало и конец строки
Можно так же указывать, должно ли подвыражение стоять в начале строки или в конце. К примеру
“^[0-10]”-обратите внимание что “^” стоит перед квадратными скобками, не надо путь это с опусканием символов, где он указывается в скобках.
В результате чего выражение, не позволит начинаться строке с числа от одного до ста. Чтобы сделать тоже самое, то только в конце строки:
“0-10$”.

Специальное
Когда вам надо использовать знаки, которые могут быть восприняты обработчиком, как код, следует использовать “\”. Некоторым может быть не понятно, поэтому разберем на примере.
Нам надо чтобы $tartar вывелся на экран. Но ведь машина php,воспримет его как переменную! Чтобы этого избежать следует изменить запись на “\$tartar”.

Думаю, что про регулярные выражения хватит. Хоть немного, но написал. Думаю, что исправился!


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

1)Как сделать, чтобы при нажатии на ссылку, отображался текст
-Пожалуйста, не давайте ответы с использованием Java, ведь у нас рассылка по php
2)Поисковик для сайта

Присылайте свои ответы на levis@mail.by или пишите на форуме. Если ответа не последует в течение недели, то я сам на них отвечу.

В одном из писем меня просили пояснить, как передать переменную на другую страницу. Чтобы научиться передавать переменные и их значения, надо уметь использовать сессии- именно им будет посвящена вторая часть рассылки.

Чтобы начать сессию, необходимо ее открыть-
session_start()

а чтобы закрыть

session_destroy()

Ну это так что то вроде теории, теперь собственно, на небольшом примере Итак. У нас есть 3 файла, с расширением *php.
1 файл(1.php)-создание сессии
2 файл(2.php)--продление сессии
3 файл(3.php)-- уничтожение сессии

1 файл.
Тут нам надо создать сессию. А передавать мы будем переменную $name < ?php
$name=”Антон”;
session_start();
$_SESSION['nick'] = $name;
print “< a href=’2.php’>Дальше”;
?>


2 файл .
Для продления сессии, нам необходим session_start(),только тут он будет искать созданные сессии.
< ?php
session_start();
echo “$_SESSION[nick] и Андрей=Друзья ”;
print “ < a href=’3.php’>Дальше”;
?>
В результате чего выведет
Антон и Андрей =Друзья.

3 файл
Тут нам надо уничтожить и разрегистрировать сессию
< ?php
session_start();
unset($_SESSION['nick']); // разрегистрировали переменную
session_destroy(); // разрушаем сессию
?>
Ну вот и все

В избранное