Выделение подстроки. Функция strstr в PHP.
strstr — Находит первое вхождение подстроки
Описание:
string strstr (string $haystack, mixed $needle [, bool $before_needle = false])
Возвращает подстроку строки haystack начиная с первого вхождения needle (и включая его) и до конца строки haystack.
Эта функция учитывает регистр символов. Для поиска без учета регистра используйте stristr().
Список параметров:
haystack
Входная строка.
needle
Если needle не является строкой, он приводится к целому и трактуется как код символа.
before_needle
Если установлен в TRUE, strstr() возвращает часть строки haystack до первого вхождения needle (исключая needle).
Возвращаемые значения:
Возвращает часть строки, или FALSE, если needle не найдена.
Пример использования strstr():
<?php
$email = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // выводит @example.com
$user = strstr($email, '@', true); // Начиная с PHP 5.3.0
echo $user; // выводит name
?>
Функция substr.
substr — Возвращает подстроку
Описание:
string substr (string $string, int $start [, int $length])
Возвращает подстроку строки string, начинающейся с start символа по счету и длиной length символов.
Список параметров:
string – Входная строка. Должна содержать хотя бы один символ.
start
Если start неотрицателен, возвращаемая подстрока начинается с позиции start от начала строки, считая от нуля. Например, в строке ' abcdef ', в позиции 0
находится символ ' a ', в позиции 2 - символ ' c ', и т.д.
Если start отрицательный, возвращаемая подстрока начинается с позиции, отстоящей на start символов от конца строки string.
Если string меньше либо содержит ровно start символов, будет возвращено
FALSE.
Пример #1 Использование отрицательного параметра start:
<?php
$rest = substr("abcdef", -1); // возвращает "f"
$rest = substr("abcdef", -2); // возвращает "ef"
$rest = substr("abcdef", -3, 1); // возвращает "d"
?>
|
length
Если length положительный, возвращаемая строка будет не длиннее length символов, начиная с параметра start (в зависимости от длины string).
Если length отрицательный, то будет отброшено указанное этим аргументом число символов с конца строки string (после того как будет вычислена стартовая позиция, если start отрицателен). Если при этом позиция начала подстроки, определяемая аргументом start, находится в отброшенной части строки или за ней, возвращается false.
Если указан параметр length и является одним из 0, FALSE или NULL, то будет возвращена пустая строка.
Если параметр length опущен, то будет возвращена подстрока, начинающаяся с позиции, указанной параметром start и длящейся до конца строки.
Пример #2 Использование отрицательного параметра length
<?php
$rest = substr("abcdef", 0, -1); // возвращает "abcde"
$rest = substr("abcdef", 2, -1); // возвращает "cde"
$rest = substr("abcdef", 4, -4); // возвращает false
$rest = substr("abcdef", -3, -1); // возвращает "de"
?>
Возвращаемые значения:
Возвращает извлеченную часть строки, или FALSE в случае возникновения ошибки или пустую строку string.
Пример #3 Базовое использование substr():
<?php
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f
?>
Замена вхождения подстроки. Функция str_replace в PHP.
str_replace — Заменяет все вхождения строки поиска на строку замены
Описание:
mixed str_replace (mixed $search, mixed $replace, mixed $subject [, int &$count])
Эта функция возвращает строку или массив, в котором все вхождения search в subject заменены на replace. Эта функция чувствительна к регистру. Используйте str_ireplace() для замены, нечувствительной к регистру.
|
Список параметров:
Если search и replace - массивы, то str_replace() использует каждое значение из соответствующего массива для поиска и замены в subject. Если в массиве replace меньше элементов, чем в search, в качестве строки замены для оставшихся значений будет использована пустая строка. Если search - массив, а replace - строка, то эта строка замены будет использована для каждого элемента массива search. Обратный случай смысла не имеет.
Если search или replace являются массивами, их элементы будут обработаны от первого к последнему.
Search
Искомое значение, также известное как needle (иголка). Для множества искомых значений можно использовать массив.
replace
Значение замены, будет использовано для замены искомых значений search. Для множества значений можно использовать массив.
subject
Строка или массив, в котором производится поиск и замена, также известный как haystack (стог сена).
Если subject является массивом, то поиск с заменой будет осуществляться над каждым элементом subject, а результатом функции также будет являться массив.
count
Если передан, то будет установлен в количество произведенных замен.
Возвращаемые значения:
Эта функция возвращает строку или массив с замененными значениями.
Пример #1 Примеры использования str_replace()
<?php
// присваивает <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");
// присваивает: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
// присваивает: You should eat pizza, beer, and ice cream every day
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "beer", "ice cream");
$newphrase = str_replace($healthy, $yummy, $phrase);
// присваивает: 2
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;
?>