Написать письмо авторам  
 

УЧЕБНИК PHP


справочник функций <Оnline>

Об учебнике

Обновление

Оглавление

  1. Основы PHP
  2. Операторы языка PHP
  3. Строковые функции

Продолжение следует




Строковые функции PHP

Предыдущая Следующая

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

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.

Предыдущая Следующая

 
  Наверх