Осуществлять сравнение строк можно при помощи оператора =, как и любые другие переменные РНР. При сравнении учитывается регистр строк. Для того чтобы сравнение строк выполнялось без учета регистра, необходимо привести строки к верхнему регистру при помощи функции strtoupper() или к нижнему с использованием функции strtolower().
В РНР также имеется специальная функция, осуществляющая сравнение строк— strcmp(). Она принимает два строковых аргумента и возвращает положительное число, если первая строка больше второй, ноль, если строки равны, и отрицательное, если первая строка больше второй.
Аналогичная функция strcasecmp () осуществляет сравнение строк без учета регистра.
Одной из основных строковых функций этого класса является функция substr(), имеющая следующий синтаксис:
string substr(string str, int start [, int length])
Функция substr() возвращает часть строки. Первый аргумент функции str— исходная строка, из которой вырезается текст; второй start— положение в строке, которую нужно вернуть, первого символа (отсчет начинается с нуля); третий length— длина возвращаемой строки в символах. Если третий аргумент не указан, то возвращается вся оставшаяся часть строки.
<?php
$str = "04.05.2005";
echo "день - ".substr($str,0,2)."<br>"; // день - 04
echo "месяц - ".substr($str,3,2)."<br>"; // месяц - 05
echo "год - ".substr($str,6)."<br>"; // год - 2005
?>
Еще одной функцией поиска является strpos(), которая имеет следующий синтаксис:
string strpos(string str, string needle[, int offset])
Эта функция возвращает позицию в строке str, с которой начинается переданная ей подстрока needle.
В РНР имеется функция strrpos (), которая аналогична функции strpos (), за исключением того, что ищется не первое вхождение подстроки, а последнее.
Функция замены str_replace() позволяет заменить подстроку в тексте на другую подстроку и имеет следующий синтаксис:
Функция заменяет в строке str все вхождения подстроки from на to и возвращает результат.
Для удаления начальных и конечных пробелов предназначены функции семейства trim():
ltrim() — удаляет из строки начальные пробелы;
rtrim() —удаляет из строки конечные пробелы;
trim() —удаляет из строки и начальные, и конечные пробелы.
Функция substr_replace()заменяет в исходной строке одни подстроки на другие и имеет следующий синтаксис:
string substr_replace (string str, string replacement, int start[, int length])
Она возвращает строку, в которой часть исходной строки str от символа с позицией start и длиной length заменяется строкой replacement. Если аргумент длины length не указан, замена проводится до конца строки. Если значение аргумента start положительно, то отсчет выполняется от начала строки str, в противном случае— от конца строки. В случае неотрицательного значения length данный аргумент указывает длину заменяемого фрагмента. Если же length отрицательно, то обозначает количество символов от конца строки str до последнего символа заменяемого фрагмента.