создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

Урок 6. Строковые функции в PHP

Содержание

Теория

Методы и функции: strtolower, strtoupper, ucfirst, lcfirst, ucwords, strlen, substr, str_replace, strtr, substr_replace, strpos, strrpos, strstr, explode, implode, str_split, trim, ltrim, rtrim, strrev, str_shuffle, number_format, str_repeat, htmlspecialchars, strip_tags, chr, ord, str_word_count, substr_count, count_chars, strchr, strrchr

Все функции работы с регистром: ucfirst, lcfirst, strtoupper, strtolower, ucwords.

Функция strtolower

Функция strtolower преобразовывает строку в нижний регистр.

Данная функция неправильно работает с кириллицей. Используйте функцию mb_strtolower (она работает аналогичным образом, но корректно обрабатывает кириллицу? НЕТ, ТОЖЕ НЕКОРРЕКТНО!).

Синтаксис: strtolower(строка).

Пример

В данном примере функция преобразовала строку в нижний регистр:

<?echo strtolower('ABC')?>

abc.

Пример

В данном примере функция преобразовала строку в нижний регистр:

<?echo mb_strtolower('НИЧЕГО СЕБЕ')?>

ничего себе.

НЕТ, ТОЖЕ НЕКОРРЕКТНО!

Это в UTF-8:

Это в cp1251:

Функция strtoupper

Функция strtoupper преобразовывает строку в верхний регистр.

Данная функция неправильно работает с кириллицей. Используйте функцию mb_strtoupper (она работает аналогичным образом, но корректно обрабатывает кириллицу).

Синтаксис: strtoupper(строка).

Пример

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

<?echo strtoupper('abc')?>

ABC.

Функция ucfirst

Функция ucfirst преобразует 1-й символ строки в верхний регистр. Не работает с кириллицей.

Синтаксис: ucfirst(строка).

Пример

Переведем 1-й символ строки в верхний регистр:

<?echo ucfirst('hello')?>

Hello.

<?echo ucfirst('привет')?>

привет (не работает с кириллицей).

Функция lcfirst

Функция lcfirst (буква L маленькая англ. впереди от слова lower - вниз) преобразует 1-й символ строки в нижний регистр. Не работает с кириллицей.

Синтаксис: lcfirst(строка).

Пример

Переведем 1-й символ строки в нижний регистр:

<?echo lcfirst('Hello')?>

hello.

<?echo lcfirst('Привет')?>

Привет (не работает с кириллицей).

Функция ucwords

Функция ucwords преобразует 1-й символ каждого слова в строке в верхний регистр. Не работает с кириллицей.

Синтаксис: ucwords(строка).

Пример

1-й символ каждого слова в строке преобразуется в верхний регистр:

<?echo ucwords('hello world')?>

Hello World.

<?echo ucwords('привет мир')?>

привет мир (не работает с кириллицей).

Функция strlen

Функция strlen возвращает длину строки (количество символов в строке).

Данная функция неправильно работает с кириллицей(?). Используйте функцию mb_strlen (она работает аналогичным образом, но корректно обрабатывает кириллицу. Проверено на php5: все работает корректно и одинаково и с функцией strlen, и с функцией mb_strlen).

Синтаксис: strlen(строка).

Пример

Функция вернет длину строки 'hello':

<?echo strlen('hello')?>

5.

<?echo strlen('привет')?>

12 (работает).

<?echo strlen('Попробуем подлиннее предложение на кириллице и england + 4856')?>

102 (работает).

<?echo mb_strlen('Попробуем функцию 2 mb_strlen на кириллице')?>

42 (работает).

Функция substr

Функция substr вырезает и возвращает подстроку из строки.

Сама строка при этом не изменяется. Нумерация символов строки начинается с 0.

2-й параметр может быть отрицательным, в этом случае отсчет начнется с конца строки, при этом последний символ будет иметь номер -1.

Последний параметр можно не указывать, в этом случае отрезание произойдет до конца строки.

Данная функция неправильно работает с кириллицей(?). Используйте функцию mb_substr (она работает аналогичным образом, но корректно обрабатывает кириллицу). Проверено на php5: все работает корректно и одинаково и с функцией strlen, и с функцией mb_substr).

Синтаксис: substr(строка,откуда,[сколько]).

Пример

Вырезать 3 символа из строки позиции 1 (со 2-го символа, так как 1-й имеет номер 0):

<?echo substr('abcdef',1,3)?>

bcd.

<?echo substr('природа',1,3)?>

р.

<?echo mb_substr('природа',1,3)?>

рир.

Пример

Вырезать все символы до конца строки, начиная со 2-го (он имеет номер 1):

<?echo substr('abcdef',1)?>

bcdef.

<?echo substr('природа',1)?>

рирода.

<?echo mb_substr('природа',1)?>

рирода.

Пример

Вырезать 3-й и 2-й символы с конца, для этого укажем начало вырезания -3 (это номер 3-го символа с конца), а количество символов 2:

<?echo substr('abcdef',-3,2)?>

de.

<?echo substr('природа',-3,2)?>

.

<?echo mb_substr('природа',-3,2)?>

од.

Пример

Вырезать 2 последних символа, для этого укажем позицию предпоследнего символа (это -2), а 3-й параметр не укажем, в этом случае обрезание будет до конца строки:

<?echo substr('abcdef',-2)?>

ef.

<?echo substr('природа',-2)?>

а.

<?echo mb_substr('природа',-2)?>

да.

Пример

Вырезать последний символ:

<?echo substr('abcdef',-1)?>

f.

<?echo substr('природа',-1)?>

.

<?echo mb_substr('природа',-1)?>

а.

Функция str_replace

Функция str_replace ищет в строке заданный текст и меняет его на другой.

1-м параметром функции принимает что меняем, а 2-м - на что меняем. Это могут быть 2 строки или 2 массива.

Во 2-м случае соответствующие элементы 1-го массива заменятся на соответствующие элементы 2-го массива.

Есть также функция str_ireplace, которая делает тоже самое, но без учета регистра.

Синтаксис: str_replace(что меняем,на что меняем,где меняем).

Пример

Функция заменит все найденные буквы 'a' на '!':

<?echo str_replace('a','!','abcabc')?>

!bc!bc.

Пример

Функция заменит 'a' на 1, 'b' на 2, 'c' на 3:

<?echo str_replace(['a','b','c'],[1,2,3],'abcabc')?>

123123.

Функция strtr

Функция strtr осуществляет поиск и замену символов в строке.

Синтаксис. Функция имеет 2 варианта работы.

В 1-м варианте функция принимает массив замен: ключами служит то, что мы меняем, а значениями - на что будем менять: strtr(где меняем,массив замен).

Во 2-м варианте функция 1 параметром принимает строку с символами, которые будут заменены, а другим параметром строку с символами, на которые будет производится замена. Соответствующие символы 1-й строки будут заменены на соответствующие символы 2-й строки: strtr(где меняем,что меняем,на что меняем).

Пример

Функция заменит символы 1 и 2 на 'a' и 'b' соответственно:

<?echo strtr('жжж111222',['ж'=>'ю','1'=>'a','2'=>'b'])?>

юююaaabbb.

Пример

Функция также заменит символы 1 и 2 на 'a' и 'b' соответственно:

<?echo strtr('ююю111222333','ю123','жabc')?>

жжжaaabbbccc.

Функция substr_replace

Функция substr_replace заменяет указанную часть строки на другую.

Эта функция вырезает указанную часть строки (параметрами указывается откуда начинать вырезание и сколько символов взять) и заменяет вырезанную часть на указанную строку.

Синтаксис: substr_replace(где меняем,на что меняем,с какого символа,[сколько символов]).

Если последний параметр не указан, замена произведется до конца строки.

Пример

Вырезать из строки символы (3 штуки) и вместо них вставить '!!!', начиная с 1-го (нумерация символов начинается с 0):

<?echo substr_replace('abcde','!!!',1,3)?>

a!!!e.

Пример

Начиная с 1-го (нумерация символов начинается с 0) до конца строки (так как последний параметр не указан) вырезать из строки символы и вместо них вставить '!!!':

<?echo substr_replace('abcde','!!!',1)?>

a!!!.

Функция strpos

Функция strpos возвращает позицию 1-го вхождения подстроки в другую строку. 1-м параметром функция принимает строку, в которой осуществляется поиск, 2-м параметром - подстроку, которую следует искать.

Результатом выполнения функции будет позиция 1-го символа найденной подстроки, а если такая подстрока не будет найдена - то false. Учтите, что нумерация идет с нуля и, если подстрока находится в начале строки, то результатом функции будет 0. Это может привести к ошибкам, если сделать, к примеру, так: if(strpos()) - в этом случае и 0, и false приведут к одинаковому результату, чего бы нам не хотелось.

По-умолчанию функция ищет с начала строки до 1-го совпадения. Начало поиска можно регулировать 3-м необязательным параметром (если он задан, то поиск начнется не с начала строки, а с указанного места).

Есть также функция stripos, которая делает тоже самое, но без учета регистра.

Синтаксис: strpos(где ищем,что ищем,[откуда искать]).

Пример

Функция вернет позицию 1-го символа 'с'. Он занимает позицию 2, так как отсчет начинается с 0:

<?echo strpos('abc abc','c')?>

2.

Пример

В данном примере задан 3-й параметр и поэтому поиск начнется с 3-ей позиции, в этом случае функция найдет уже 2-й символ 'c' и выведет его позицию 6:

<?echo strpos('abc abc','c',3)?>

6.

Пример

Проверим, что строка начинается на 'http:' (обратите внимание на сравнение по ===, а не по ==):

<?if(strpos('http://d.ru','http:')===0){echo'да';}else{echo'нет';}?>

да.

<?if(strpos('https://d.ru','http:')===0){echo'да';}else{echo'нет';}?>

нет.

Функция strrpos

Функция strrpos возвращает позицию последнего вхождения подстроки.

Результатом выполнения функции будет позиция 1-го символа найденной подстроки, а если такая подстрока не будет найдена, то false (нумерация идет с 0 и, если подстрока находится в начале строки, то результатом функции будет 0). Это может привести к ошибкам, если сделать, к примеру, так: if(strpos()), в этом случае и 0, и false приведут к одинаковому результату, чего бы нам не хотелось.

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

Есть также функция strripos, которая делает тоже самое, но без учета регистра.

Синтаксис: strrpos(где ищем,что ищем,[откуда искать]).

Пример

В данном примере функция вернет позицию последнего вхождения символа 'а':

<?echo strrpos('abc abc','a')?>

4.

<?echo strrpos('abc abc','e')?>

.

Функция strstr

Функция strstr находит 1-е вхождение подстроки в строку и возвращает часть строки начиная с этого места до конца строки. В отличие от strchr ищет вхождение подстроки из нескольких символов, а не вхождение 1 символа.

Есть также функция stristr, которая делает тоже самое, но без учета регистра.

Синтаксис: strstr(где ищем,что ищем).

Пример

В данном примере функция достанет адрес страницы без доменного имени из url (вернет подстроку, начиная с 1-го /, до конца строки)

<?echo strstr('d.ru/folder1/folder2/page.html','/')?>

/folder1/folder2/page.html.

Функция explode

Функция explode разбивает строку в массив по определенному разделителю.

Синтаксис: explode(разделитель,строка).

Пример

Разбить части даты в массив (разделитель - дефис):

<?$d='2025-12-31';$a=explode('-',$d);print_r($a)?>

Array ( [0] => 2025 [1] => 12 [2] => 31 ) .

Пример

Пусть дана дата в формате '2025-12-31'. Сделать из нее дату в формате '31.12.2025'. Для этого разобьем ее в массив через explode и сформируем новую строку в нужном нам формате:

<?$d='2025-12-31';$a=explode('-',$d);echo$a[2].'.'.$a[1].'.'.$a[0]?>

31.12.2025.

Функция implode

Функция implode сливает массив в строку с указанным разделителем.

Синтаксис: implode(разделитель,строка).

Пример

Слить массив ['a','b','c'] в строку 'a-b-c':

<?$a=['a','b','c'];$s=implode('-',$a);echo$s?>

a-b-c.

Функция str_split

Функция str_split разбивает строку в массив.

1-м параметром она принимает строку, а 2-м - количество символов в элементе массива.

К примеру, если 2-й параметр задать как 3 - функция разобьет строку в массив так, чтобы в каждом элементе массива было по 3 символа.

Синтаксис: str_split(строка,количество символов в элементе массива).

Пример

Разбить строку по 2 символа в элементе массива (обратите внимание на то, что последнему элементу не хватило символов и там их не 2, а 1):

<?$s='abcde';$a=str_split($s,2);print_r($a)?>

Array ( [0] => ab [1] => cd [2] => e ) .

Пример

Разбить строку по 3 символа в элементе массива:

<?$s='abcdefg';$a=str_split($s,3);print_r($a)?>

Array ( [0] => abc [1] => def [2] => g ) .

Пример

Найти сумму цифр числа. Для этого разобьем число в массив с помощью str_split и сложим элементы этого массива с помощью array_sum:

<?$n=12345;echo array_sum(str_split($n,1))?>

15.

Функция trim

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

Есть также функции ltrim и rtrim, которые делают то же самое, но ltrim только для левого края строки, а rtrim - для правого.

Синтаксис: trim(строка); trim(строка,символы).

Пример

Удалить пробелы по краям строки:

<?print_r(trim(' hello '))?>

hello.

Пример

Удалить слеши по краям строки:

<?echo trim('/hello/','/')?>

hello.

Пример

Удалить слеши и точки по краям строки:

<?echo trim('/hello.','/.')?>

hello.

Пример

Функция удаляет любое количество указанных символов, если они стоят с краю:

<?echo trim('../../hello...','/.')?>

hello.

Пример

Указать диапазон символов с помощью 2 точек '..'. К примеру, укажем, что мы хотим удалить символы от 'a' до 'i':

<?echo trim('hello.','a..i')?>

llo..

Функция ltrim

Функция ltrim удаляет пробелы с начала строки. Подробнее см. функцию trim.

Функция rtrim

Функция rtrim удаляет пробелы с конца строки. Подробнее см. функцию trim.

Функция strrev

Функция strrev переворачивает строку так, чтобы символы шли в обратном порядке.

Синтаксис: strrev(строка).

Пример

Функция перевернет строку '12345':

<?echo strrev('12345')?>

54321.

Функция str_shuffle

Функция str_shuffle переставляет символы в строке в случайном порядке.

См. также функцию shuffle, которая переставляет элементы массива в случайном порядке.

Синтаксис: str_shuffle(cтрока).

Пример

При каждом новом обновлении страницы строка будет иметь другой порядок символов:

<?echo str_shuffle('Hello world!')?>

!leooHll dwr.

Функция number_format

Функция number_format позволяет форматировать число.

В основном используется для того, чтобы отделять тройки чисел пробелами, к примеру, из 1234567 она может сделать 1 234 567.

По умолчанию функция разделяет тройки запятыми: из 1234567 делает 1,234,567.

Кроме того, она позволяет регулировать количество знаков после дробной части. Это количество задается 2-м необязательным параметром.

Например, можно из дроби 12345.6789 сделать дробь 12 345.68. Функция расставит пробелы между тройками и округлит дробь до 2 знаков в дробной части.

3-й необязательный параметр задает разделитель дробной части (по умолчанию точка, но можно сменить). Обязательно вместе с 3-м параметром должен быть и 4-й - он устанавливает разделитель троек чисел (по умолчанию запятая, но можно сменить, к примеру, на пробел).

Синтаксис: Функция принимает 1, 2 или 4 параметра (не 3).

number_format(число);

number_format(число, количество знаков дробной части);

number_format(число, количество знаков дробной части, разделитель дробной части, разделитель тысяч).

Пример

В данном примере тройки чисел отделяются запятой:

<?echo number_format(1234567)?>

1,234,567.

Пример

В данном примере тройки чисел отделяются запятой, а дробная часть округляется до 2 знаков:

<?echo number_format(1234.567,2)?>

1,234.57.

Пример

В данном примере тройки чисел отделяются пробелом, дробная часть округляется до 2 знаков, разделителем дробной части служит слеш /:

<?echo number_format(1234.567,2,'/',' ')?>

1 234/57.

Пример

В данном примере тройки чисел отделяются пробелом, дробная часть округляется до 2 знаков, разделителем дробной части служит точка:

<?echo number_format(1234.567,2,'.',' ')?>

1 234.57.

Функция str_repeat

Функция str_repeat повторяет строку заданное количество раз.

См. также функцию str_pad, которая дополняет строку до заданного размера другой строкой.

Синтаксис: str_repeat(строка,сколько раз повторить).

Пример

В данном примере функция повторила строку 'x' 5 раз:

<?echo str_repeat('x',5)?>

xxxxx.

Функция htmlspecialchars

Функция htmlspecialchars позволяет вывести теги в браузер так, чтобы он не считал их командами, а выводил как строки.

Функция преобразует амперсанд '&' в '& a m p ;', '<' в '& l t ;', '>' в '& g t ;'.

См. также функцию strip_tags, которая удаляет теги из строки.

См. также функцию htmlspecialchars_decode, которая выполняет преобразование, обратное функции htmlspecialchars.

Синтаксис: htmlspecialchars(строка).

Пример

Теги выведутся на экран, а не преобразуются в команды браузера:

<?echo htmlspecialchars('<b>жирный текст</b>')?>

<b>жирный текст</b>.

Функция strip_tags

Функция strip_tags удаляет HTML-теги из строки (не трогая их содержимого). 2-м необязательным параметром можно указать разрешенные теги, они не будут удалены. Их указываем в таком формате: '<b>' или '<b><p>', если хотим оставить несколько тегов.

Синтаксис: strip_tags(строка,[разрешенные теги]).

Пример

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

<?echo strip_tags('hello <b>world</b>')?>

hello world.

Функция chr

Функция chr находит символ по его ASCII коду.

Синтаксис: chr(код символа).

Пример

Выводится символ, который имеет код 97:

<?echo chr(97)?>

a.

Пример

Давайте выведем случайную маленькую букву латинского алфавита. Для этого посмотрим на таблицу ASCII и увидим, что маленькие латинские буквы имеют коды от 97 до 122. Поэтому сгенерируем случайное число в этом диапазоне с помощью mt_rand и результат возьмем в chr:

<?echo chr(mt_rand(97,122))?>

k.

Пример

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

<?$s='';for($i=1;$i<=6;$i++){$s.=chr(mt_rand(97,122));}echo$s?>

xpygqn.

Пример

Большие латинские буквы имеют диапазон 65-90, а маленькие - 97-122. Т.е. между ними есть дыра. Давайте получим случайный символ маленькую или большую латинскую букву. Для этого с помощью range сформируем 2 массива: 1-й с числами от 65 до 90, а 2-й с числами от 97 до 122. Объединим их вместе с помощью array_merge и затем выведем случайный элемент этого массива с помощью array_rand:

<?$q=array_merge(range(65,90),range(97,122));echo chr($q[array_rand($q)])?>

d.

Функция ord

Функция ord возвращает ASCII код символа. Параметром принимает 1 символ или целую строку (в этом случае возвращает код ее 1-го символа).

Синтаксис: ord(символ или строка).

Пример

Давайте узнаем код символа 'W':

<?echo ord('W')?>

87.

Пример

Выведем код 1-го символа строки 'World':

<?echo ord('World')?>

87.

Функция str_word_count

Функция str_word_count подсчитывает количество слов в строке.

Функция может принимать 2-й необязательный параметр, число 1 или 2.

Если он не задан, то возвращается целое число, равное количеству слов.

Если передано 1, то возвращается массив, содержащий все слова, входящие в строку.

Если передано 2, то возвращается массив, ключами которого являются позиции в строке, а значениями - соответствующие слова.

Синтаксис: str_word_count(строка,[число]).

Пример

Считать количество слов в строке:

<?echo str_word_count('Hello my world')?>

3.

Функция substr_count

Функция substr_count подсчитывает сколько раз встречается подстрока в строке.

Синтаксис: substr_count(строка,подстрока).

Пример

Считать, сколько раз в нашей строке встречается подстрока 'test':

<?echo substr_count('test www test','test')?>

2.

Функция count_chars

Функция count_chars подсчитывает сколько раз встречаются различные символы в строке.

1-м параметром функция принимает строку, а 2-м необязательным параметром - модификатор, который изменяет работу функции:

0 - массив, индексами которого являются ASCII коды, а значениями - число вхождений соответствующего символа.

1 - то же, что и для 0, но информация о символах с нулевым числом вхождений не включается в массив.

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

3 - строка, состоящая из символов, которые входят в исходную строку хотя бы раз.

4 - строка, состоящая из символов, которые не входят в исходную строку.

По умолчанию функция ведет себя так, будто 2-й параметр поставлен в 0.

Синтаксис: count_chars(строка,[модификатор]).

ПРОВЕРИТЬ!!!

<?echo count_chars('testwwwtest',2)?>

Array.

Функция strchr

Функция strchr находит 1-е вхождение подстроки в строку и возвращает часть строки начиная с этого места до конца строки.

Синтаксис: strchr(где ищем,что ищем).

Если 2-й параметр состоит более чем из 1 символа, используется только 1-й символ.

Пример

Функция достанет адрес страницы без доменного имени из url (вернет подстроку, начиная с 1-го /, до конца строки).

<?echo strchr('d.ru/folder1/folder2/page.html','/')?>

/folder1/folder2/page.html.

Функция strrchr

Функция strrchr находит последнее вхождение символа в строку и возвращает часть строки начиная с этого места до конца строки.

Синтаксис: strrchr(где ищем,что ищем).

Если 2-й параметр состоит более чем из 1 символа, используется только 1-й символ.

Пример

Функция достанет адрес страницы из url (вернет подстроку, начиная с последнего /, до конца строки).

<?echo strrchr('d.ru/folder1/folder2/page.html','/')?>

/page.html.

Практика

Примеры решения задач

Задача

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

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

<?echo strtoupper('minsk')?>

MINSK

Задача

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

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

<?echo mb_strtoupper('минск')?>

МИНСК

Задача

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

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

<?echo ucfirst(strtolower('minsk'))?>

Minsk

Задача

В переменной $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]?>

2030.12.31

Задачи для решения

Работа с регистром символов

Для решения задач данного блока вам понадобятся следующие функции: strtolower, strtoupper, ucfirst, lcfirst, ucwords.

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

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

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

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

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

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

Работа с strlen

Для решения задач данного блока вам понадобятся следующие функции: strlen.

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

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

Работа с substr

Для решения задач данного блока вам понадобятся следующие функции: substr.

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

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

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

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

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

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

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

Работа с str_replace

Для решения задач данного блока вам понадобятся следующие функции: str_replace.

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

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

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

Работа с strtr

Для решения задач данного блока вам понадобятся следующие функции: strtr.

Дана строка $str. Замените в ней все буквы 'a' на цифру 1, буквы 'b' - на 2, а буквы 'c' - на 3. Решите задачу двумя способами работы с функцией strtr (массив замен и две строки замен).

Работа с substr_replace

Для решения задач данного блока вам понадобятся следующие функции: substr_replace.

Дана строка $str. Вырежите из нее подстроку с 3-го символа (отсчет с нуля), 5 штук и вместо нее вставьте '!!!'.

Работа с strpos, strrpos

Для решения задач данного блока вам понадобятся следующие функции: strpos, strrpos.

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

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

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

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

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

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

Работа с explode, implode

Для решения задач данного блока вам понадобятся следующие функции: explode, implode.

Дана строка 'html css php'. С помощью функции explode запишите каждое слово этой строки в отдельный элемент массива.

Дан массив с элементами 'html', 'css', 'php'. С помощью функции implode создайте строку из этих элементов, разделенных запятыми.

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

Работа с str_split

Для решения задач данного блока вам понадобятся следующие функции: str_split.

Дана строка '1234567890'. Разбейте ее на массив с элементами '12', '34', '56', '78', '90'.

Дана строка '1234567890'. Разбейте ее на массив с элементами '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'.

Дана строка '1234567890'. Сделайте из нее строку '12-34-56-78-90' не используя цикл.

Работа с trim, ltrim, rtrim

Для решения задач данного блока вам понадобятся следующие функции: trim, ltrim, rtrim.

Дана строка. Очистите ее от концевых пробелов.

Дана строка '/php/'. Сделайте из нее строку 'php', удалив концевые слеши.

Дана строка 'слова слова слова.'. В конце этой строки может быть точка, а может и не быть. Сделайте так, чтобы в конце этой строки гарантировано стояла точка. То есть: если этой точки нет - ее надо добавить, а если есть - ничего не делать. Задачу решите через rtrim без всяких ифов.

Работа с strrev

Для решения задач данного блока вам понадобятся следующие функции: strrev.

Дана строка '12345'. Сделайте из нее строку '54321'.

Проверьте, является ли слово палиндромом (одинаково читается во всех направлениях, примеры таких слов: madam, otto, kayak, nun, level).

Работа с str_shuffle

Для решения задач данного блока вам понадобятся следующие функции: str_shuffle.

Дана строка. Перемешайте символы этой строки в случайном порядке.

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

Работа с number_format

Для решения задач данного блока вам понадобятся следующие функции: number_format.

Дана строка '12345678'. Сделайте из нее строку '12 345 678'.

Работа с str_repeat

Для решения задач данного блока вам понадобятся следующие функции: str_repeat.

Нарисуйте пирамиду, как показано на рисунке, только у вашей пирамиды должно быть 9 рядов, а не 5. Решите задачу с помощью одного цикла и функции str_repeat.

x

xx

xxx

xxxx

xxxxx

Нарисуйте пирамиду, как показано на рисунке. Решите задачу с помощью одного цикла и функции str_repeat.

1

22

333

4444

55555

666666

7777777

88888888

999999999

Работа с strip_tags и htmlspecialchars

Для решения задач данного блока вам понадобятся следующие функции: htmlspecialchars, strip_tags.

Дана строка 'html,php,js'. Удалите теги из этой строки.

Дана строка $str. Удалите все теги из этой строки, кроме тегов и .

Дана строка 'html,php,js'. Выведите ее на экран 'как есть': т.е. браузер не должен преобразовать в жирный.

Работа с chr и ord

Для решения задач данного блока вам понадобятся следующие функции: chr, ord.

Узнайте код символов 'a','b','c', пробела.

Изучите таблицу ASCII. Определите границы, в которых располагаются буквы английского алфавита.

Выведите на экран символ с кодом 33.

Запишите в переменную $str случайный символ - большую букву латинского алфавита. Подсказка: с помощью таблицы ASCII определите какие целые числа соответствуют большим буквам латинского алфавита.

Запишите в переменную $str случайную строку $len длиной, состоящую из маленьких букв латинского алфавита. Подсказка: воспользуйтесь циклом for или while.

Дана буква английского алфавита. Узнайте, она маленькая или большая.

Работа с strchr, strrchr

Для решения задач данного блока вам понадобятся следующие функции: strchr, strrchr.

Дана строка 'ab-cd-ef'. С помощью функции strchr выведите на экран строку '-cd-ef'.

Дана строка 'ab-cd-ef'. С помощью функции strrchr выведите на экран строку '-ef'. Показать решение.

Работа с strstr

Для решения задач данного блока вам понадобятся следующие функции: strstr.

Дана строка 'ab--cd--ef'. С помощью функции strstr выведите на экран строку '--cd--ef'.

Задачи

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

Дан массив с числами. Выведите на экран все числа, в которых есть цифра 3.

Содержание

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

Ваше письмо×
Free Web Hosting