Нина Савельева - Курс "Язык программирования PHP" Страница 25
- Категория: Компьютеры и Интернет / Прочая околокомпьтерная литература
- Автор: Нина Савельева
- Год выпуска: неизвестен
- ISBN: нет данных
- Издательство: неизвестно
- Страниц: 49
- Добавлено: 2019-05-28 14:29:36
Нина Савельева - Курс "Язык программирования PHP" краткое содержание
Прочтите описание перед тем, как прочитать онлайн книгу «Нина Савельева - Курс "Язык программирования PHP"» бесплатно полную версию:PHP, в настоящее время, – один из наиболее популярных языков для реализации веб-приложений. Данный курс посвящен изучению его основ. Акцент делается на практическое применение полученных навыков.Язык PHP был создан для решения конкретной практической задачи в среде интернет (какой именно можно узнать, прочитав первую лекцию курса). Мы тоже постараемся не отвлекаться слишком сильно на теоретические рассуждения, и будем стремиться к решению какой-нибудь конкретной задачи в каждой из лекций. Большинство примеров взяты из реально существующей системы: виртуального музея истории информатики. Первая часть курса посвящена изучению основ синтаксиса и управляющим конструкциям. После этого рассматривается технология клиент-сервер, как основная сфера приложения языка PHP. Затем переходим к изучению наиболее полезных на наш взгляд встроенных функций и решению с их помощью практических задач. Хотя объектная модель в языке PHP не самая богатая, ее принципиальное наличие позволяет естественным образом описывать объектные модели данных. В качестве базовой модели будет рассмотрена модель документа виртуального музея информатики. После этого будет рассмотрен ряд прикладных аспектов: работа с файловой системой, с БД, строками, сессиями, DOM XML - все это позволит рассмотреть ключевые задачи практического использования языка.
Нина Савельева - Курс "Язык программирования PHP" читать онлайн бесплатно
<?php
$word = "<b>Hello, world!</b>";
echo $word , "<br>";
$pure_str = substr($word, 3, -4);
/* выделяем подстроку,
начиная с 3-го символа,
не включая 4 символа с конца строки */
echo $pure_str;
?>
В результате работы этого скрипта получим:
Hello, world!
Hello, world!
На самом деле решить такую задачу можно гораздо проще, с помощью функции strip_tags:
strip_tags (строка [, допустимые теги])
Эта функция возвращает строку, из которой удалены все html и php-теги. С помощью дополнительного аргумента можно задать теги, которые не будут удалены из строки. Список из нескольких тегов вводится без каких-либо знаков разделителей. Функция выдает предупреждение, если встречает неправильные или неполные теги.
<?php
$string = "<b>Bold text</b>
<i>Italic text</i>";
$str = strip_tags($string);
// удаляем все теги из строки
$str1 = strip_tags($string, '<i>');
// удаляем все теги кроме тега <i>
$str2 = strip_tags($string, '<i><b>');
// удаляем все теги кроме тегов <i> и <b>
echo $str,"<br>",$str1,"<br>", $str2;
?>
В результате получим:
Bold text Italic text
Bold text Italic text
Bold text Italic text
Приведем другой пример использования функции substr(). Допустим, у нас есть какое-то сообщение с приветствием и подписью автора. Мы хотим удалить сначала приветствие, а потом и подпись, оставив только содержательную часть сообщения.
<?php
$text = "Привет! Сегодня мы изучаем работу
со строками. Автор.";
$no_hello = substr($text, 8);
// убираем приветствие
$content = substr($text, 8, 39);
// то же самое, что substr($text, 8, -6).
// Убираем подпись.
echo $text, "<br>", $no_hello,
"<br>", $content;
?>
В результате получим:
Привет! Сегодня мы изучаем работу
со строками. Автор.
Сегодня мы изучаем работу со строками. Автор.
Сегодня мы изучаем работу со строками.
Если нам нужно получить один конкретный символ из строки, зная его порядковый номер, то не следует задействовать функции типа substr. Можно воспользоваться более простым синтаксисом – записывая номер символа в фигурных скобках после имени строковой переменной. В контексте предыдущего примера букву «р», расположенную второй по счету, можно получить так:
echo $text{1}; // выведет символ "р"
Заметим, что номером этого символа является число один, а не два, так как нумерация символов строки производится начиная с нуля.
Раз уж мы начали говорить о символах в строке и их нумерации, то невольно возникает вопрос, сколько всего символов в строке и как это вычислить. Число символов в строке – это длина строки. Вычислить длину строки можно с помощью функции strlen (строка). Например, длина строки «Разработка информационной модели» вычисляется с помощью команды: strlen("Разработка информационной модели"); и равна 32 символам.
Итак, как выделять и находить подстроки, мы рассмотрели. Теперь научимся заменять строку, входящую в состав исходной строки, на другую строку по нашему выбору.
Замена вхождения подстроки
Функция str_replace
Для замены вхождения подстроки можно использовать функцию str_replace(). Это простая и удобная функция, позволяющая решать множество задач, не требующих особых тонкостей при выборе заменяемой подстроки. Для того чтобы производить замены с более сложными условиями, используют механизм регулярных выражений и соответствующие функции ereg_replace() и preg_replace(). Синтаксис функции str_replace() такой:
str_replace(искомое значение,
значение для замены, объект)
Функция str_replace() ищет в рассматриваемом объекте значение и заменяет его значением, предназначенным для замены. Почему мы говорим здесь не про строки для поиска и замены и исходную строку, а про значения и объект, в котором происходит замена? Дело в том, что начиная с PHP 4.0.5 любой аргумент этой функции может быть массивом.
Если объект, в котором производится поиск и замена, является массивом, то эти действия выполняются для каждого элемента массива и в результате возвращается новый массив.
<?php
$greeting = array("Привет", "Привет всем!",
"Привет, дорогая!"); // объект
$new_greet = str_replace("Привет",
"Доброе утро", $greeting);
// делаем замену
print_r($new_greet);
/* получим: Array ([0]=>Доброе утро
[1]=>Доброе утро всем!
[2]=>Доброе утро, дорогая!) */
?>
Если искомое значение и значение для замены – массивы, то берется по одному значению из каждого массива и производится их поиск и замена в объекте. Если значений для замены меньше, чем значений для поиска, то в качестве новых значений используется пустая строка.
<?php
$greeting = array("Привет", "Привет всем!",
"Привет, дорогая!","Здравствуйте",
"Здравствуйте, товарищи", "Hi");
// объект
$search = array ("Привет",
"Здравствуйте", "Hi");
// значения, которые будем заменять
$replace = array ("Доброе утро",
"День добрый");
// значения, которыми будем заменять
$new_greet = str_replace($search, $replace,
$greeting);
// делаем замену
print_r($new_greet);
//выводим полученный массив
?>
В результате получим такой массив:
Array (
[0] => Доброе утро
[1] => Доброе утро всем!
[2] => Доброе утро, дорогая!
[3] => День добрый
[4] => День добрый, товарищи
[5] =>
)
Если значения для поиска – массив, а значение для замены – строка, то эта строка будет использована для замены всех найденных значений.
<?php
$greeting = array("Привет", "Привет всем!",
"Привет, дорогая!", "Здравствуйте",
"Здравствуйте, товарищи");
// объект
$search = array ("Привет","Здравствуйте");
// значения, которые будем заменять
$replace = "День добрый";
// значение, которым будем заменять
$new_greet = str_replace($search,
$replace, $greeting); // делаем замену
print_r($new_greet);
//выводим полученный массив
?>
Получим:
Array (
[0] => День добрый
[1] => День добрый всем!
[2] => День добрый, дорогая!
[3] => День добрый
[4] => День добрый, товарищи
)
Функция str_replace() чувствительна к регистру, но существует ее регистронезависимый аналог – функция str_ireplace(). Однако эта функция поддерживается не во всех версиях PHP.
Еще один пример использования функции str_replace() – обработка шаблонов.
Обратимся в очередной раз к описанию какого-либо документа, например статьи. Много раз мы уже создавали форму для ввода подобного описания и даже отображали данные, введенные пользователем в такого рода форму. Но как отображать эти данные, мы описывали непосредственно в коде нашей программы. Теперь мы хотим, чтобы способ отображения данных задавал сам пользователь. Для этого добавим в нашу форму еще один элемент для ввода шаблона.
<h2>Введите описание статьи</h2>
<form action=sbl.php>
<table border=0>
<tr><td>Название </td><td><input
type=text name=title > </td></tr>
<tr><td>Краткое содержание </td><td><input
type=text name=description > </td></tr>
<tr><td>Автор </td><td><input
type=text name=author > </td></tr>
<tr><td>Дата публикации </td><td><input
type=text name=published ></td></tr>
<tr><td>Шаблон документа </td><td><textarea
name=shablon ></textarea></td></tr>
</table>
<input type=submit value="Отправить">
</form>
Однако просто поля для ввода шаблона недостаточно. Один человек введет в него одно, другой – другое. Нужно договориться о том, как создавать шаблоны, что можно в них использовать, т.е. нужно придумать язык шаблонов. Например, мы договариваемся, что при создании шаблона можно задействовать любые html-теги, а набор спецсимволов вида <!имя_элемента> определяет значение элемента с именем имя_элемента. Далее, как обрабатывать такого рода шаблоны? Можно использовать функцию str_replace():
Жалоба
Напишите нам, и мы в срочном порядке примем меры.