Функции поиска в тексте
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.softtime.ru";
$www = strstr($url,"w");
echo ($www);
?>
Результат: www.softtime.ru
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.
|