Справочник по PHP : Функции работы с данными : Строковые функции : Поиск в тексте
смотрим также
Материал из Справочник Web-языков
Содержание |
strchr
Поиск первого вхождения символа в строку.
Синтаксис:
string strchr(string haystack, string needle)
Данная функция работает идентично функции strstr().
strstr
Поиск первого вхождения подстроки в строку.
Синтаксис:
string strstr(string haystack, string needle)
Функция strstr() возвращает участок строки, заданной в параметре haystack, начиная с первого фрагмента, указанного в параметре needle и до конца.
В случае неудачи возвращает false.
Данная функция чувствительна к регистру.
В случае, если needle не является строкой, то значение преобразуется в целое и используется как код искомого символа.
$email = "[email protected]"; $domain = strstr($email, "@"); // или $domain = strstr($email, ord("@")) echo $domain; // выведет @mail.ru
stristr
Нахождение первого вхождения подстроки, не учитывая регистр.
Синтаксис:
string stristr(string haystack, string needle)
Функция stristr() возвращает участок строки, заданной в параметре haystack, начиная с первого фрагмента, указанного в параметре needle и до конца.
В случае неудачи возвращает false.
Данная функция нечувствительна к регистру.
В случае, если needle не является строкой, то значение преобразуется в целое и используется как код искомого символа.
strrchr
Поиск последнего вхождения подстроки.
Синтаксис:
string strrchr(string haystack, string needle)
Функция strrchr() возвращает участок строки, заданной в параметре haystack, начиная с последнего фрагмента, указанного в параметре needle и до конца.
В случае неудачи возвращает false.
Данная функция чувствительна к регистру.
В случае, если needle не является строкой, то значение преобразуется в целое и используется как код искомого символа.
// получим последний каталог в $PATH $dir = substr(strrchr($PATH, ":"), 1); // а здесь получим все после последнего перевода строки $text = "text 1nText2nText3"; echo substr(strrchr($text, 10), 1);
strpos
Находит позицию первого вхождения подстроки в заданной строке.
Синтаксис:
int strpos(string where, string what [, int fromwhere])
Функция strpos() пытается найти в строке where подстроку what и в случае успеха возвращает позицию (индекс) этой подстроки в строке. Первый символ строки имеет индекс 0. Необязательный параметр fromwhere можно задавать, если поиск нужно вести не с начало строки, а с какой-то другой позиции. В этом случае следует эту позицию передать в fromwhere. Если подстроку не удалось найти, функция возвращает false.
Если параметр what не строка, в этом случае его значение преобразуется в целое и используется как код искомого символа.
if(strpos($text, "a")===false) echo "Не найдено!"; // Проверка: три знака равенства
stripos
Находит позицию первого вхождения подстроки в заданной строке без учета регистра.
Синтаксис:
int stripos(string where, string what [, int fromwhere])
Функция stripos() пытается найти в строке were подстроку what и в случае успеха возвращает позицию (индекс) этой подстроки в строке. В отличие от strpos(), эта функция не учитывает регистр символов. Первый символ строки имеет индекс 0. Необязательный параметр fromwhere можно задавать, если поиск нужно вести не с начало строки, а с какой-то другой позиции. В этом случае следует эту позицию передать в fromwhere. Если подстроку не удалось найти, функция возвращает false.
Если параметр what не строка, в этом случае его значение преобразуется в целое и используется как код искомого символа.
<?php $findme = 'a'; $mystring1 = 'xyz'; $mystring2 = 'ABC'; $pos1 = stripos($mystring1, $findme); $pos2 = stripos($mystring2, $findme); // Конечно, 'a' не входит в 'xyz' if ($pos1 === false) { echo "Строка '$findme' не найдена в строке '$mystring1'"; } // Заметьте, что используется ===. Использование == не даст верного // результата, так как 'a' в нулевой позиции. if ($pos2 !== false) { echo "Нашел '$findme' в '$mystring2' в позиции $pos2"; } ?>
Примечание: Функция stripos() может применяться для поиска данных в двоичной форме.
Поддержка: PHP 5
strrpos
Находит в заданной строке последнюю позицию, в которой находится заданный фрагмент.
Синтаксис:
int strrpos(string where, string what)
Данная функция ищет в строке where последнюю позицию, в которой встречался символ what (если what - строка из нескольких символов, то выявляется только первый из них, остальные не играют никакой роли).
Если искомый символ стоит первый в строке или его вообще нет, функция возвратит 0.
В случае, если искомый символ не найден, возвращает false.
substr_count
Находит количество вхождений фрагмента в строку.
Синтаксис:
int substr_count(string where, string what)
Функция substr_count() возвращает число фрагментов what, присутствующих в строке where.
echo substr_count("www.spravkaweb.ru", "."); // Выведет 2
strspn
Определяет присутствие начальных символов в строке.
Синтаксис:
int strspn(string str1, string str2)
Функция strspn() возвращает длину начального фрагмента строки str1, состоящего полностью из символов, которые есть в строке str2.
echo strspn("www.spravkaweb.ru", "abc"); // Выведет 3
strcspn
Определяет отсутствие начальных символов в строке.
Синтаксис:
int strcspn(string str1, string str2)
Функция strspn() возвращает длину начального фрагмента строки str1, состоящего полностью не из символов, которые есть в строке str2.