Функции Строк — Учебник PHP — Schoolsw3.com
Строковые функции PHP являются частью ядра PHP. Для использования этих функций установка не требуется.
функция | Описание |
---|---|
addcslashes() | Возвращает строку с обратной косой чертой перед указанными символами |
addslashes() | Возвращает строку с обратными косыми чертами перед предопределенными символами |
bin2hex() | Преобразует строку символов ASCII в шестнадцатеричные значения |
chop() | Удаляет пробелы или другие символы из правого конца строки |
chr() | Возвращает символ из указанного значения ASCII |
chunk_split() | Разбивает страку на ряд более мелких частей |
convert_cyr_string() | Преобразует строку из одного набора кириллических символов в другой |
convert_uudecode() | Декодирует строку в кодировке uuencode |
convert_uuencode() | Кодирует строку с помощью алгоритма uuencode |
count_chars() | Возвращает информацию о символах, используемых в строке |
crc32() | Вычисляет 32-разрядный CRC для строки |
crypt() | Одностороннее хеширование строк |
echo() | Выводит одну или несколько строк |
explode() | Разбивает строку на массив |
fprintf() | Записывает форматированную строку в указанный выходной поток |
get_html_translation_table() | Возвращает таблицу перевода, используемую htmlspecialchars() и htmlentities() |
hebrev() | Преобразует текст на иврите в визуальный текст |
Преобразует текст на иврите в визуальный текст и новые строки (\n) в <br> | |
hex2bin() | Преобразует строку шестнадцатеричных значений в символы ASCII |
html_entity_decode() | Преобразует HTML объекты в символы |
htmlentities() | Преобразует символы в объекты HTML |
htmlspecialchars_decode() | Преобразует заданный HTML-сущности символы |
htmlspecialchars() | Преобразует некоторые предопределенные символы в HTML объекты |
implode() | Возвращает строку из элементов массива |
join() | Псевдоним из implode() |
lcfirst() | Преобразует первый символ строки в нижний регистр |
levenshtein() | Возвращает расстояние Левенштейна между двумя строками |
localeconv() | Возвращает информацию о числовом и денежном форматировании информации |
ltrim() | Удаляет пробелы или другие символы из левой части строки |
md5() | Вычисляет MD5 хэш строки |
md5_file() | Вычисляет хэш MD5 файла |
metaphone() | Вычисляет ключ метафона строки |
money_format() | Возвращает строку, отформатированную как строка валюты |
nl_langinfo() | |
nl2br() | Вставляет разрывы строк HTML перед каждой новой строкой в строке |
number_format() | Форматирует число с сгруппированными тысячами |
ord() | Возвращает значение ASCII первого символа строки |
parse_str() | Разбирает строку запроса на переменные |
print() | Выводит одну или несколько строк |
printf() | Выводит форматированную строку |
quoted_printable_decode() | Преобразует строку для печати в кавычках в 8-битную строку |
quoted_printable_encode() | Преобразует 8-битную строку в строку для печати в кавычках |
quotemeta() | Кавычки мета символов |
rtrim() | Удаляет пробелы или другие символы из правой части строки |
setlocale() | Устанавливает информацию о локали |
sha1() | Вычисляет хэш SHA-1 строки |
sha1_file() | Вычисляет хэш SHA-1 файла |
similar_text() | Вычисляет сходство между двумя строками |
soundex() | Вычисляет ключ soundex строки |
sprintf() | Записывает форматированную строку в переменную |
sscanf() | Анализирует входные данные из строки в соответствии с форматом |
str_getcsv() | Анализирует строку CSV в массиве |
str_ireplace() | Заменяет некоторые символы в строке (без учета регистра) |
str_pad() | Прокладывает строку на новую длину |
str_repeat() | Повторяет строку заданное количество раз |
str_replace() | Заменяет некоторые символы в строке (с учетом регистра) |
str_rot13() | Выполняет кодирование алгоритма ROT13 в строке |
str_shuffle() | Произвольно перетасовывает все символы в строке |
str_split() | Разбивает строку на массив |
str_word_count() | Подсчитайте количество слов в строке |
strcasecmp() | Сравнивает две строки (без учета регистра) |
strchr() | Находит первое вхождение строки внутри другой строки (псевдоним из strstr()) |
strcmp() | Сравнивает две строки (чувствительные к регистру) |
strcoll() | Сравнивает две строки (сравнение строк на основе локали) |
strcspn() | Возвращает количество символов, найденных в строке до того, как будет найдена какая-либо часть некоторых указанных символов |
strip_tags() | Удаляет HTML и PHP теги из строки |
stripcslashes() | Unquotes строка, заключенная в кавычки с помощью addcslashes() |
stripslashes() | Unquotes строка заключенная в кавычки с помощью addslashes() |
stripos() | Возвращает позицию первого вхождения строки внутри другой строки (без учета регистра) |
stristr() | Находит первое вхождение строки внутри другой строки (без учета регистра) |
strlen() | Возвращает длину строки |
strnatcasecmp() | Сравнивает две строки с помощью алгоритма «естественного порядка» (без учета регистра) |
strnatcmp() | Сравнивает две строки, используя алгоритм «естественного порядка» (чувствительный к регистру) |
strncasecmp() | |
strncmp() | Строковое сравнение первых n символов (чувствительно к регистру) |
strpbrk() | Поиск строки для любого из набора символов |
strpos() | Возвращает положение первого вхождения строки внутри другой строки (с учетом регистра) |
strrchr() | Находит последнее вхождение строки внутри другой строки |
strrev() | Переворачивает строку |
strripos() | Находит положение последнего вхождения строки внутри другой строки (без учета регистра) |
strrpos() | Находит положение последнего вхождения строки внутри другой строки (чувствительно к регистру) |
strspn() | Возвращает количество символов, найденных в строке, содержащей только символы из указанного чарлиста |
strstr() | Находит первое вхождение строки внутри другой строки (чувствительно к регистру) |
strtok() | Разбивает строку на более мелкие строки |
strtolower() | Преобразует строку в строчные буквы |
strtoupper() | Преобразует строку в заглавные буквы |
strtr() | Переводит определенные символы в строку |
substr() | Возвращает часть строки |
substr_compare() | Сравнивает две строки из заданной начальной позиции (двоичная безопасная и дополнительно чувствительная к регистру) |
substr_count() | Подсчитывает количество раз, когда подстрока встречается в строке |
substr_replace() | Заменяет часть строки другой строкой |
trim() | Удаляет пробелы или другие символы с обеих сторон строки |
ucfirst() | Преобразует первый символ строки в верхний регистр |
ucwords() | Преобразует первый символ каждого слова в строке в верхний регистр |
vfprintf() | Записывает форматированную строку в указанный выходной поток |
vprintf() | Выводит форматированную строку |
vsprintf() | Записывает форматированную строку в переменную |
wordwrap() | Обертывание строки в заданное количество символов |
Поиск подстроки в строке по точному соответствию | PHPClub
FRIE
Новичок
- #1
Например есть строка «метро сокольники станция московского метро»
Если делать strpos или что то подобное то результатом будет что она входит, но мне нужно чтобы он показал что вхождение есть только если строка точно будет соответствовать.
Например «метро сокол» -> не входит, «метро сокольники»-> входит
preg_match вроде можно но я не понимаю регулярки
Hello
Новичок
- #2
Если не понимаете регулярки, то проверяйте следующий за строкой символ — пробел или конец строки
FRIE
Новичок
- #3
Вот так сделал
PHP:
if(strpos(" ". $word1." ", " ".$word." ")!==false)
И всё же, интересно как сделать через preg_match, буду благодарен если кто напишет
AnrDaemon
Продвинутый новичок
- #4
Прочитать, наконец, инструкцию.
nitr()n
Новичок
- #5
PHP:
if(preg_match('/^метро сокольники/u', 'метро сокольники станция московского метро', $match) == 1){ echo $match[0]; }
^ означает начало строки
Как проверить, содержит ли строка подстроку в PHP
Одной из наиболее распространенных задач в программировании на PHP является определение, содержит ли строка определенную подстроку. Эта операция необходима для различных приложений, таких как поиск ключевых слов в пользовательском вводе, проверка пользовательских данных или фильтрация строк на основе определенных условий.
Advertisement
В этой статье мы рассмотрим различные методы проверки того, содержит ли строка подстроку в PHP. Мы рассмотрим такие функции, как strpos(), strstr(), stripos() и stristr(), и объясним варианты их использования, преимущества и ограничения.
1. Использование функции strpos()
Функция strpos()
является популярным и эффективным методом проверки наличия в строке подстроки. Возвращает позицию первого вхождения подстроки в основной строке или FALSE , если подстрока не найдена.
Синтаксис:
strpos(string $haystack, string $needle, int $offset = 0): int|false
strpos(string $haystack, string $needle, int $offset = 0): int|false |
Вот пример использования strpos():
$haystack = «Здравствуйте, добро пожаловать в мир PHP!»; $ игла = «PHP»; if (strpos($haystack, $needle) !== false) { echo «Подстрока найдена!»; } еще { echo «Подстрока не найдена!»; }
1 2 3 4 5 6 7 8 | $ HayStack = «Hello, The World PHP!»; $ игла = «PHP»;
if (strpos($haystack, $needle) !== false) { echo «Подстрока найдена!»; } else { echo «Подстрока не найдена!»; } |
2.
Использование strstr() Функция strstr()
возвращает часть основной строки, начиная с первого вхождения подстроки, или FALSE , если подстрока не является найденный. Чтобы проверить, содержит ли строка подстроку, вы можете просто проверить, не является ли результат FALSE.
Синтаксис:
strstr(string $haystack, string $needle, bool $before_needle = false): string|false
strstr(string $haystack, string $needle, bool $before_needle = false): string|false |
Вот пример использования функции strstr():
$haystack = «Здравствуйте, добро пожаловать в мир PHP!»; $ игла = «PHP»; if (strstr($haystack, $needle) !== false) { echo «Подстрока найдена!»; } еще { echo «Подстрока не найдена!»; }
1 2 3 4 5 6 7 8 | $ HAYSTACK = «Hello, Добро пожаловать в мир PHP!»; $ игла = «PHP»;
if (strstr($haystack, $needle) !== false) { echo «Найдена подстрока!»; } else { echo «Подстрока не найдена!»; } |
3.
Использование stripos() Функция stripos()
похожа на strpos()
, но нечувствительна к регистру. Возвращает позицию первого вхождения подстроки в основной строке, независимо от регистра, или FALSE , если подстрока не найдена.
Синтаксис:
stripos(string $haystack, string $needle, int $offset = 0): int|false
stripos(string $haystack, string $needle, int $offset = 0): int|false |
Вот пример использования stripos():
$haystack = «Здравствуйте, добро пожаловать в мир PHP!»; $ игла = «php»; if (stripos($haystack, $needle) !== false) { echo «Подстрока найдена!»; } еще { echo «Подстрока не найдена!»; }
1 2 3 4 5 6 7 8 | $ HayStack = «Hello, The World PHP!»; $ игла = «php»;
if (stripos($haystack, $needle) !== false) { echo «Подстрока найдена!»; } else { echo «Подстрока не найдена!»; } |
4.
Использование stristr() Функция stristr()
является нечувствительной к регистру версией функции strstr()
. Возвращает часть основной строки, начиная с первого вхождения подстроки, независимо от регистра, или ЛОЖЬ , если подстрока не найдена.
Синтаксис:
stristr(string $haystack, string $needle, bool $before_needle = false): string|false
stristr(string $haystack, string $needle, bool $before_needle = false): string|false |
Вот пример использования функции stristr():
$haystack = «Здравствуйте, добро пожаловать в мир PHP!»; $ игла = «php»; if (stristr($haystack, $needle) !== false) { echo «Подстрока найдена!»; } еще { echo «Подстрока не найдена!»; }
1 2 3 4 5 6 7 8 | $ HAYSTACK = «Hello, Добро пожаловать в мир PHP!»; $ игла = «php»;
if (stristr($haystack, $needle) !== false) { echo «Подстрока найдена!»; } else { echo «Подстрока не найдена!»; } |
5.
Использование preg_match() Если вам нужна большая гибкость и вы хотите искать подстроки с помощью регулярных выражений, вы можете использовать функцию preg_match()
. Он ищет шаблон в заданной строке и возвращает 1, если шаблон найден, или 0, если не найден.
Синтаксис:
preg_match(string $pattern, string $subject, array &$matches = null, int $flags = 0, int $offset = 0): int|false
preg_match(string $pattern, string $subject, array &$matches = null, int $flags = 0, int $offset = 0): int|false |
Вот пример использования preg_match():
$haystack = «Здравствуйте, добро пожаловать в мир PHP!»; $ игла = «/php/i»; // Поиск без учета регистра если (preg_match ($ иголка, $ стог сена)) { echo «Подстрока найдена!»; } еще { echo «Подстрока не найдена!»; }
1 2 3 4 5 6 7 8 | $ HayStack = «Hello, The World PHP!»; $ игла = «/php/i»; // Поиск без учета регистра
if (preg_match($needle, $haystack)) { echo «Найдена подстрока!»; } else { echo «Подстрока не найдена!»; } |
6.
Использование mb_strpos() Для поддержки многобайтовых строк вы можете использовать функцию mb_strpos()
, которая работает аналогично strpos() 9001, но поддерживает более широкий диапазон символов 9001 кодировки.
Синтаксис:
mb_strpos(string $haystack, string $needle, int $offset = 0, string $encoding = null): int|false
mb_strpos(string $haystack, string $needle, int $offset = 0, string $ encoding = null): int|false |
Вот пример использования mb_strpos():
$haystack = "Здравствуйте, добро пожаловать в мир PHP!"; $ игла = "PHP"; $кодировка = "UTF-8"; if (mb_strpos($haystack, $needle, 0, $encoding) !== false) { echo "Подстрока найдена!"; } еще { echo "Подстрока не найдена!"; }
1 2 3 4 5 6 7 8 | $ HayStack = "Hello, Gello To The PHP World!"; ";"; ";"; ";"; "; $ игла = "PHP"; $кодировка = "UTF-8";
if (mb_strpos($haystack, $needle, 0, $encoding) !== false) { echo "Найдена подстрока!"; } else { echo "Подстрока не найдена!"; } |
7.
Использование mb_stripos() Функция mb_stripos()
представляет собой нечувствительную к регистру версию mb_strpos()
и поддерживает многобайтовые кодировки символов.
Синтаксис:
mb_stripos(string $haystack, string $needle, int $offset = 0, string $encoding = null): int|false
mb_stripos(string $haystack, string $needle, int $offset = 0, string $ кодировка = ноль): int|false |
Вот пример использования mb_stripos():
$haystack = "Здравствуйте, добро пожаловать в мир PHP!"; $ игла = "php"; $кодировка = "UTF-8"; if (mb_stripos($haystack, $needle, 0, $encoding) !== false) { echo "Подстрока найдена!"; } еще { echo "Подстрока не найдена!"; }
1 2 3 4 5 6 7 8 | $ HayStack = "Hello, Glavent to the The Php to the The Php to the the the the the the the the the the the the world! $ игла = "php"; $кодировка = "UTF-8";
if (mb_stripos($haystack, $needle, 0, $encoding) !== false) { echo "Подстрока найдена!"; } else { echo "Подстрока не найдена!"; } |
Заключение
В этой статье мы рассмотрели семь различных методов - STRPOS ()
, Strstr ()
, Stripos ()
, Stristr ()
, Preg_match (),
()
, Preg_match (),
()
, ()
, ()
, ()
, ()
, ()
, ()
, ()
, ()
,
, mb_strpos() и mb_stripos()
— для проверки наличия в строке подстроки в PHP. В зависимости от конкретных потребностей вашего приложения и требований к кодировке символов вы можете выбрать наиболее подходящий метод. Не забывайте использовать строгие сравнения (т. е. !== false) при проверке результатов этих функций и рассмотрите возможность использования preg_match(), если вам нужно искать подстроки с помощью регулярных выражений.
Как извлечь подстроку из строки в PHP?
Ответ: Использование
функция substr()
Функция substr()
является предопределенной функцией PHP. Эта функция используется для извлечения подстроки из любой заданной строки.
Эта функция принимает три параметра: строка , начальная длина и длина извлеченной строки. Из трех параметров первые два обязательны для указания, а третий необязателен. В первом параметре мы должны указать входную строку, во втором параметре указывается позиция, с которой функция начинает извлекать подстроку из входной строки, а в третьем параметре указывается длина символов, которые должны быть извлечены из входной строки. входная строка.
Синтаксис
substr($string, $start, $length)
$string
— входная строка$start
указывает, откуда следует извлечь строку. Он указывает позицию, с которой функция начинает извлекать подстроку.$length
указывает длину извлеченной строки. Этот параметр является необязательным.
Пример
В данном примере мы использовали substr()
функция для извлечения подстроки из входной строки. Подстрока начинается с индекса 8 , а длина строки равна 2 .
<голова>Извлечь подстроку из строки голова> <тело> "; ?> тело>
Выход
9от 0002до
Пример: Использование функции
substr()
приведет к аргументу длины по умолчанию В четном примере мы использовали функцию substr()
, но не указываем длину извлеченной строки. Таким образом, выходная строка будет начинаться с индекса 11 и заканчиваться в конце строки.
<голова>Извлечь подстроку из строки голова> <тело> "; ?> тело>
Вывод
Studytonight
Пример: Использование функции
substr()
с отрицательным значениемВ данном примере мы указали отрицательный индекс для извлеченной строки. Функция возвращает строку, которая находится в седьмом индексе от конца строки.
<голова>Извлечь подстроку из строки голова> <тело> "; ?> тело>
Вывод
сегодня вечером
Пример: Использование функции
substr()
с отрицательной длинойМы также можем указать отрицательное значение для параметра длины.