Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
php учебник_весь.doc
Скачиваний:
8
Добавлен:
21.09.2019
Размер:
2.06 Mб
Скачать

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

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.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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]