Справочник по PHP : Функции работы с данными : Строковые функции : Поиск в тексте

смотрим также

Материал из Справочник Web-языков

Перейти к: навигация, поиск


Содержание

strchr

Поиск первого вхождения символа в строку.

Синтаксис:

string strchr(string haystack, string needle)

Данная функция работает идентично функции strstr().

strstr

Поиск первого вхождения подстроки в строку.

Синтаксис:

string strstr(string haystack, string needle)

Функция strstr() возвращает участок строки, заданной в параметре haystack, начиная с первого фрагмента, указанного в параметре needle и до конца.

В случае неудачи возвращает false.

Данная функция чувствительна к регистру.

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

$email = "mailname@mail.ru";
$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.

Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="http://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
Rambler\'s Top100 Индекс цитирования