Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

25.8. Операции поиска символов

Рассмотрим способы получения доступа к указанным символам в строке, а также получения позиции символов при помощи следующих функций:

• strpos(),

• strrpos().

Функция strpos() находит первую позицию указанного символа и возвращает целое число, равное количеству символов с начала этой строки. Приведем синтаксис функции strpos():

int strpos (string haystack, string needle [, int offset])

Strpos () возвращает целое значение, равное количеству символов, отсчитанных с конца. Параметр haystack устанавливает строку, в которой будет осуществляться поиск указанного символа. Сам символ устанавливается параметром needle.

Следует отметить, что needle в этом случае может быть только единственным символом.

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

Если needle не найден, то возвращается false. Если параметр needle не является строкой, то он переводится в десятичное число и рассматривается как числовое значение символа.

Третий параметр offset отвечает за количество символов, от которых будет производиться поиск указанного символа needle. В этом случае длина, возвращенная функцией strpos(), все равно будет отсчитываться с начала строки. Приведем пример:

<?php

$string = "Мама купила красную шапку";

$strnew = strpos($string, "п");

$strnew1 = strpos ($string, "п", 10);

echo "Первоначальная строка: ".$string."<br><br>";

echo "Количество символов, начиная с начала строки до первого символа 'п': ".$strnew."<br><br>";

echo "Количество символов, начиная с начала строки до первого символа 'п', пропустив при этом первых 10 символов: ".$strnew1."<br><br>";

?>

Функция возвратит две строки, первая из них будет соответствовать количеству символов, отсчитанных с начала указанной строки, при этом третий параметр указан не был. Во втором случае был указан третий параметр, в результате чего поиск символа «п» будет начинаться не с начала строки, а с десятого символа. Далее будет осуществляться поиск до первого символа «п», после чего функция подсчитает количество символов до найденного символа «п» и произведет возврат строки, равной целому числу символов. В этом можно убедиться, обратившись к результату приведенного скрипта:

Первоначальная строка: Мама купила красную шапку

Количество символов, начиная с начала строки до первого символа 'п' : 7

Количество символов, начиная с начала строки до первого символа пропустив при этом первых 10 символов: 22

Функция strrpos() по принципу работы аналогична функции strpos(), единственное ее отличие заключается в том, что функция strrpos() находит позицию последнего появления символа в строке. Функция имеет следующий синтаксис:

int strrpos(string haystack, char needle)

Как было уже сказано, strrpos возвращает номер позиции последнего появления символа needle в строке haystack.

Описанные функции используются в РНР 3 и РНР 4.

<< Предыдущий параграф Следующий параграф >>
Оглавление