PHP поиск текста
В PHP, как и в любом другом языке программирования, под “текстом” подразумевается какая-либо строка, поэтому говорить я сегодня буду, прежде всего, о строковых функциях. Задача этих функций - обработка исходной строки и возврат её фрагмента, либо количества вхождений какого-либо фрагмента.
string substr (string string, int start [, int length])
Функция substr возвращает фрагмент строки string, начиная с символа start, длиной length. Если параметр length не указывать, то вернется вся остальная часть строки. Пример:
<?
$str = “Wcode.ru”;
$result = substr($str, 0, 5);
echo $result;
?>
Результатом выполнения этого скрипта будет являться строка “Wcode ”.
string strpos(string haystack, string needle[, int offset])
Функция strpos является обратной функции substr. Она возвращает позицию в строке haystack, строки needle, начиная с символа offset.
string strrpos(string haystack, string needle)
Функция strrpos похожа на функцию strpos, единственное отличие – она ищет последнее вхождение строки.
int substr_count(string haystack, string needle)
Функция substr_count ищет количество символов needle в строке haystack. Пример:
<?
$str = “WcodeWcodeWcode”;
$result = substr_count($str, “W”);
echo $result;
?>
Возвращает 3.
string strstr(string haystack, string needle)
Функция strstr возвращает фрагмент строки haystack, начиная с символа needle и до конца строки. Пример:
<?
$str = “Wcode.ru”;
$result = strstr($str, “r”);
echo $result;
?>
Покажет “ru”.
Есть так же функция stristr, которая аналогична strstr, но не чувствительна к регистру.
int strspn(string str1, string str2)
Функция strspn ищет такой фрагмент строки str1, который подходит по маске строке str2 и возвращает его длину. На примере все станет понятно:
<?
$str = “2006 год”;
$result = strspn($str, “1234567890″);
echo $result;
?>
Скрипт возвращает 4, так как 2006 – это самый большой фрагмент строки str1, содержащий все символы строки str2.
Необходимой функцией будет являться и функция strlen, которая возвращает размер строки.
<?
$str = “Wcode.ru”;
$result = strlen($str);
echo $result;
?>
Вернет 8.
Если подвести итог, то выполнять какую-либо работу со строками, не зная предыдущих функций будет очень сложно, поэтому советую запомнить их надолго.
Рекомендуем почитать
- Форматирование телефонных номеров на PHP
- Краткое описание регулярных выражений: POSIX и PCRE
- Ликбез о том как пользоваться поисковиками
- Всеобъемлющая история шаблонов
- Subsys_JsHttpRequest: подкачка данных без перезагрузки страницы (AJAX)
- 21 ошибка программиста PHP
- В PHP 5.3 появился ActiveRecord аналогичный Ruby on Rails