Файл: Работа со строками.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 29.04.2024

Просмотров: 6

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Методические указания для проведения практического занятия № 6

Тема: Работа со строками

Цель: Получение навыков работы со строками, использование функций для работы со строками в php.
Основные теоретические положения:
Работа со строками в PHP
Создание строки. В PHP, как и в других языках программирования, строки пишутся в кавычках. При этом PHP делает серьёзные различия между одинарными и двойными кавычками. Эти различия мы будем рассматривать при изучении данной темы.

$str = 'Строка с текстом';

Сложение строк. Для сложения строк не работает оператор "+". Вместо этого используется точка. Пример:
$new_str = $str.' для вывода на экран';

echo $new_str;
Переменную можно вставить в строку. Но для этого строка должна быть именно в двойных кавычках. Если она будет в одинарных, то в строку будет добавлено не значение, а имя переменной, то есть знак $ и название. А если строка в двойных кавычках, то будет вставлено значение переменной.

echo '
';

echo "Это $str";

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

Строковые функции. Программистам очень часто приходится иметь дело с различными функциями работы со строками в php. В разных справочниках представлены все функции, но я хотел бы ограничиться только основными из них.

Функция substr - получить часть строки

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


$text="нас интересует кусок этого текста";

$cut=substr($text,4,10);

echo $cut;//интересует

$long=substr($text,15);

echo $long;//кусок этого текста

$first=substr($text,0,1); //первый символ строки

$last=substr($text,strlen($text)-1); //последний символ строки

?>

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

Функция strlen - узнать длину строки

Эта функция возвращает длину исходной строки в виде целого числа.



$text='нас интересует длина строки';

$len=strlen($text);

echo $len; //28

?>

Этой функцией вы сможете проверить длину введенных пользователем данных, а может быть что-то еще.

Функция trim - убрать лишние пробелы по краям строки

Функция trim удаляет по краям строки любые пробельные символы, в том числе и символ перевода строки. Так же существуют функции rtrim и ltrim, которые удаляют пробелы вконце иили вначале строки.



$text=' нас интересует длина строки ';

$text=trim($text);//удаляет пробелы с обеих сторон строки

$text=rtrim($text);//удаляет пробелы справа т.е. вконце строки

$text=ltrim($text);//удаляет пробелы слева, т.е. вначале строки

?>

Функция strpos - осуществляет поиск в строке

Функция strpos ищет подстроку в строке и в случае успеха возвращает позицию начала этой подстроки. После нахождения первой подстроки поиск прекращается.



$text='нас интересует где находится подстрока';

$sub='рес';

$pos1=strpos($text,$sub);//ищет с начала строки

$pos2=strpos($text,$sub,5);//если поиск нужно начать не с начала строки, используем третий параметр

?>

Порядок аргументов в функции таков: исходная строка, подстрока, стартовая позиция. Третий параметр не обязателен, но он есть.

Функция strip_tags - удаляет тэги HTML и PHP из строки

Функция strip_tags возвращает строку, очищенную от тегов html и php. Она вам пригодится, когда вы будете писать модуль комментариев на свой сайт, что бы не оставить злоумышленикам возможности взломать ваш сайт через форму.



$text='все теги html и php должны быть удалены';

echo strip_tags($text);

echo strip_tags($text,'');//не удалять теги em

?>

Первым аргументом функции идет исходный текст, а вторым - теги, которые не нужно удалять.

PHP функция strtolower - переводит строку в нижний регистр.

PHP функция strtoupper - переводит строку в верхний регистр.
Примеры решения задач.

Задача 1. Дана строка 'minsk'. Сделайте из нее строку 'MINSK'.

Решение: воспользуемся функцией strtoupper и сразу получим результат:


echo strtoupper('minsk');

?>

Задача 2. Дана строка 'минск'. Сделайте из нее строку 'МИНСК'.

Решение: функцией strtoupper мы не можем воспользоваться, так как она некорректно работает с русскими буквами. Воспользуемся функцией mb_strtoupper и сразу получим результат:


echo mb_strtoupper('минск');

?>

Задача 3. Дана строка 'MINSK'. Сделайте из нее строку 'Minsk'.

Решение: готовой функции для решения задачи в PHP не существует. Поэтому сначала воспользуемся функцией strtolower (в результате получится 'minsk'), а затем функцией ucfirst:


echo ucfirst(strtolower('minsk'));

?>

Задача 4. В переменной $date лежит дата в формате '31-12-2030'. Преобразуйте эту дату в формат '2030.12.31'.

Решение: для начала разобьем строку '31-12-2030' в массив с помощью функции explode:


//Разбиваем строку в массив по разделителю '-':

$arr = explode('-', '31-12-2030');

?>

В полученном массиве в $arr[0] будет лежать 31 (то есть день), в $arr[1] - месяц, а в $arr[2] - год. Сольем элементы этого массива в новую строку:


//Разбиваем строку в массив по разделителю '-':

$arr = explode('-', '31-12-2030');

//Получим дату в нужном формате:

echo $arr[2].'.'.$arr[1].'.'.$arr[0];

?>
Оборудование: Персональный компьютер, методические указания для выполнения ПЗ, литература
Порядок выполнения лабораторной работы:

1.     Ответить на контрольные вопросы (письменно).

2.     Выполнить задание. Необходимо решить по одному номеру из каждого вида задач. (всего пять задач).

Задание.

Задача 1. Работа с регистром символов


  1. Дана строка 'php'. Сделайте из нее строку 'PHP'.

  2. Дана строка 'PHP'. Сделайте из нее строку 'php'.

  3. Дана строка 'london'. Сделайте из нее строку 'London'.

  4. Дана строка 'London'. Сделайте из нее строку 'london'.

  5. Дана строка 'london is the capital of great britain'. Сделайте из нее строку 'London Is The Capital Of Great Britain'.

  6. Дана строка 'LONDON'. Сделайте из нее строку 'London'.

Задача 2. Работа с strlen


  1. Дана строка 'html css php'. Найдите количество символов в этой строке.

  2. Дана переменная $password, в которой хранится пароль пользователя. Если количество символов пароля больше 5-ти и меньше 10-ти, то выведите пользователю сообщение о том, что пароль подходит, иначе сообщение о том, что нужно придумать другой пароль.

Задача 3. Работа с substr


  1. Дана строка 'html css php'. Вырежьте из нее и выведите на экран слово 'html', слово 'css' и слово 'php'.

  2. Дана строка. Вырежьте и выведите на экран последние 3 символа этой строки.

  3. Дана строка. Проверьте, что она начинается на 'http://'. Если это так, выведите 'да', если не так - 'нет'.

  4. Дана строка. Проверьте, что она начинается на 'http://' или на 'https://'. Если это так, выведите 'да', если не так - 'нет'.

  5. Дана строка. Проверьте, что она заканчивается на '.png'. Если это так, выведите 'да', если не так - 'нет'.

  6. Дана строка. Проверьте, что она заканчивается на '.png' или на '.jpg'. Если это так, выведите 'да', если не так - 'нет'.

  7. Дана строка. Если в этой строке более 5-ти символов - вырежите из нее первые 5 символов, добавьте троеточие в конец и выведите на экран. Если же в этой строке 5 и менее символов - просто выведите эту строку на экран.

Задача 4. Работа с str_replace


  1. Дана строка '31.12.2013'. Замените все точки на дефисы.

  2. Дана строка $str. Замените в ней все буквы 'a' на цифру 1, буквы 'b' - на 2, а буквы 'c' -на 3.

  3. Дана строка с буквами и цифрами, например, '1a2b3c4b5d6e7f8g9h0'. Удалите из нее все цифры. То есть в нашем случае должна получится строка 'abcbdefgh'.

Задача 5. Работа с strpos, strrpos


  1. Дана строка 'abc abc abc'. Определите позицию первой буквы 'b'.

  2. Дана строка 'abc abc abc'. Определите позицию последней буквы 'b'.

  3. Дана строка 'abc abc abc'. Определите позицию первой найденной буквы 'b', если начать поиск не с начала строки, а с позиции 3.

  4. Дана строка 'aaa aaa aaa aaa aaa'. Определите позицию второго пробела.

  5. Проверьте, что в строке есть две точки подряд. Если это так - выведите 'есть', если не так - 'нет'.

  6. Проверьте, что строка начинается на 'http://'. Если это так - выведите 'да', если не так - 'нет'.


3.     Оформить отчет и переслать преподавателю.
Требования к оформлению результатов (отчета):

Отчет формируется в электронном виде в текстовом файле формата doc, docx, odt, и включает в себя :

  • Тему занятия (количество часов)

  • Цель занятия

  • Перечень оборудования

  • Ответы на контрольные вопросы

  • Описание выполнения задания, подробно по всем пунктам, а также иллюстрации (скриншоты экрана и другие необходимые материалы)


Контрольные вопросы:

  1. Как создаются строки в РНР?

  2. Какой оператор используется для сложения строк?

  3. Какие функции вы знаете для работы со строками?


Используемая литература.

  1. Исаченко О. В. Программное обеспечение компьютерных сетей: Учебное пособие / О.В. Исаченко. - М.: НИЦ ИНФРА-М, 2014. - 117 с.Режим доступа: http://znanium.com/.




  1. Федорова Г.Н. Разработка, внедрение и адаптация программного обеспечения отраслевой направленности: учебное пособие / Г.Н. Федорова – М.: КУРС: ИНФРА-М, 2016. – 334 с. Режим доступа: http://znanium.com/.