Функции поиска в тексте

substr()
strpos()
strrpos()
strstr()
strchr()
stristr()
strrchr()
substr_count()
strspn()
strcspn()

substr()
Синтаксис:

string substr(string string, int start[, int length])

Эта функция возвращает часть строки. Первый аргумент – исходная строка; второй – положение в строке, которую надо вернуть, первого символа (отсчет начинается с нуля); третий – длина строки в символах, которую надо вернуть. Если третий аргумент не указан, то возвращается вся оставшаяся часть строки.
Пример:

<?
$string = substr("Hello, world!", 6, 2);
echo ();
?>

Результат выполнения – символ "w". Если же третий параметр не указывать, т.е. написать $string = substr("Hello, world!", 6);

то возвратиться подстрока "world!".

strpos()
Синтаксис:

string strpos(string haystack, string needle[, int offset])
Эта функция обеспечивает действие, обратное функции substr. Т.е. она возвращает позицию в строке haystack, в которой найдена переданная ей подстрока needle. Т.е. следующий скрипт

<?
$string = strpos("Hello, world!", "world");
echo($string);
?>
вернет нам число 7.

Необязательный параметр offset позволяет указать в строке позицию, с которой надо начинать поиск:

strrpos()
Синтаксис:

string strrpos(string haystack, string needle)

Эта функция ищет в строке haystack последнюю позицию, где встречается символ needle.

strstr()
Синтаксис:

string strstr(string haystack, string needle)

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

Пример:
<?
$url = "http://www.softtime.ru";
$www = strstr($url,"w");
echo ($www);
?>
Результат: www.softtime.ru

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

strchr()

Синтаксис:

string strchr(string haystack, string needle)

Данная функция работает абсолютно идентично функции strstr():

<?
$url = "http://www.visavi.net";
$www = strstr($url,"w");
echo ($www);
?>

Результат: www.visavi.net

stristr()

Синтаксис:

string stristr(string haystack, string needle)

Эта функция работает абсолютно аналогично функции strstr(), только является нечувствительной к регистру.

strrchr()

Синтаксис:

string strrchr(string haystack, string needle)

А эта функция отличается от аналогичных ей тем, что осуществляет поиск последнего вхождения подстроки. Т.е. функция strrchr() возвращает участок строки, заданной в параметре haystack, начиная с последнего фрагмента, указанного в параметре needle и до конца строки. В случае неудачи возвращает false.

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

Даже не знаю, что придумать в качестве примера на эту функцию. Ну давайте посмотрим, какая у нас директория (у меня, естественно) прописана последней в переменной окружения $PATH:

<p>
<font color=red> Это все, что у меня есть :)</font>
</p>
<?
echo ($PATH);
?>
<p>
<font color=red> А это – из последнего:</font>
</p>
<?
$dir = substr(strrchr($PATH, ";"), 1);
echo ($dir);
?>
И вот что мы видим в результате:

substr_count()

Синтаксис:

int substr_count(string haystack, string needle)

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

Пример:
<?
$str = "dfhd@ffs@dfskfk@asas";
$substr_count = substr_count($str,"@");
echo ($substr_count);
?>

Результат: 3.

strspn()

Синтаксис:

int strspn(string str1, string str2)

Функция strspn() определяет присутствие начальных символов в строке. Она возвращает длину начального фрагмента строки str1, состоящего полностью из символов, которые есть в строке str2.

Пример:
<?
$str = "dfhd@ffs@dfskfk@asas";
$substr_count = strspn($str,"df");
echo ($substr_count);
?>
Результат: 2.

strcspn()

Синтаксис:

int strcspn(string str1, string str2)

Обратная функции strspn() функция strcspn() Определяет отсутствие начальных символов в строке.

Функция strcspn() возвращает длину начального фрагмента строки str1, состоящего полностью не из символов, которые есть в строке str2.

<<< - Предыдущая | Cледующая ->>>