Функции, предназначенные для преобразования текста, можно разбить на три основные категории: функции, производящие произвольные преобразования со строками; функции, преобразующие строки в соответствии со специальными правилами, и функции, производящие оценку строк и возвращающие числовые или логические значения. К числу преобразующих функций могут быть причислены и функции, выполняющие кодирование и сжатие текстовой информации. К оценочным функциям причисляются функции проверки правописания, создания хешей и поиска по шаблонам.
12.1. Строки
По большей части строковые функции создают строки из других строк или сообщают информацию о строках.
array count_chars(string data, integer mode) string count_chars(string data, integer mode)
Функция count_chars (листинг 12.1) анализирует строки на предмет наличия в них определенных символов. Как аргумент mode контролирует возвращаемые значения, приведенные в табл. 12.1 (рис. 12.1).
Листинг 12.1. Функция count_chars
//распечатать счетчики для найденных символов
foreach(count_chars("Core PHP", 1) as $key=>$value) {
print("$key: $valuen");
}
// распечатать перечень найденных символов
print("Символы: '" . count_chars("Core PHP", 3) . "'n"),-
?>
string sprintf(string format, ...)
Функция sprintf (листинг 12.2) аналогична функции printf, за исключением того, что вместо отправки собранной строки в браузер она возвращает эту строку. Подробнее о функциональных возможностях функции printf можно узнать в ее описании. Эта функция предлагает простое управление представлением чисел. Обычно PHP печатает вещественное число без дробной части, а эта функция позволяет форматировать такие числа с любым количеством цифр после запятой.
j Листинг 12.2. Функция sprintf_
$x = 3.00;
//Распечатать $x как значение PHP, принимаемое по умолчанию print($x . "n");
//отформатировать значение $x таким образом, чтобы
//в нем отображались две десятые после
// десятичной точки
$s = sprintf("%.2f", $x);
print($s . "n");
?>
value sscanf(string text, string format, ...)
Функция sscanf анализирует строку аналогично тому, как функция fscanf анализирует строку ввода из файла, т.е. она пытается разбить ее на переменные в соответствии с форматом, заданным аргументом format. Если задать только два аргумента, функция sscanf возвратит массив. В противном случае она попытается разместить значения в соответствующем списке переменных ссылок. Описание функции fscanf, включая и имеющиеся коды форматирования, см. в главе 9, "Операционная система".
strchr
Эта функция является псевдонимом функции strstr.
integer strcspn(string text, string set)
Функция strcspn (листинг 12.3) возвращает положение первого символа из строки, переданной аргументом text, который задан аргументом set. Сравните эту функцию с функцией strspn.
j Листинг 12.3. Функция strcspn_
$text = "red cabbage"; $set = "abc";
$position = strcspn($text, $set); // печатает 'red '
print("'" . substr($text, 0, $position) . "'");
?>
integer stripos(string data, string substring, integer offset)
Функция stripos возвращает положение аргумента substring в аргументе data. Она аналогична функции strpos, описанной в этой главе, за исключением того, что она игнорирует регистр букв.
string stristr(string text, string substring)
Функция stristr (листинг 12.4) является версией функции strstr, описанной в этой главе, но, в отличие от нее, реагирует на регистр. Часть строки, представленной в аргументе text, возвращается, начиная с первого появления значения из аргумента substring и заканчивая исходной строкой.
j Листинг 12.4. Функция stristr_
$text = "Although he had help, Leon is the author of this book."; print("Looking for 'leon': " . stristr($text, "leon"));
?>
integer strlen(string text)
Функция strlen (листинг 12.5) предназначена для определения длины строки.
j Листинг 12.5. Функция strlen_
$text = "a short string";
print("'$text' имеет длину " . strlen($text) . " символов.");
?>
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Кодирование и декодирование
07-01-2015
<< Предыдущая статья | Следующая статья >> |
PHP. Данные. Часть Семнадцатая. | PHP. Кодирование и декодирование. Часть Вторая. |