strchr

Поиск первого вхождения символа в строку.

Синтаксис:

string strchr(string haystack, string needle)

Данная функция работает идентично функции strstr()

strcspn

Определяет отсутствие начальных символов в строке.
Синтаксис:

int strcspn(string str1, string str2)

Функция strspn() возвращает длину начального фрагмента строки str1, состоящего полностью не из символов, которые есть в строке str2.

strpbrk()

Поиск в строке любого символа из заданного набора (PHP5)

Синтаксис:

string strpbrk ( string haystack, string char_list )

strpbrk() ищет в строке haystack символы из набора char_list и возвращает строку начиная с той позиции, где был найден символ (или FALSE если символ не найден). Параметр char_list чувствителен к регистру.

<?php

$text = 'This is a Simple text.';

echo strpbrk($text, 'mi'); // Выдаст "is is a Simple text.", т.к. символ 'i' встретится раньше

echo strpbrk($text, 'S');// Выдаст "Simple text.", т.к. символы чувствительны к регистру
?>

strstr

Поиск первого вхождения подстроки в строку.
Синтаксис:

string strstr(string haystack, string needle)

Функция strstr() возвращает участок строки, заданной в параметре haystack, начиная с первого фрагмента, указанного в параметре needle и до конца.
В случае неудачи возвращает false.
Данная функция чувствительна к регистру.
В случае, если needle не является строкой, то значение преобразуется в целое и используется как код искомого символа.

$email = "mailname@mail.ru";
$domain = strstr($email, "@");
// или$domain = strstr($email, ord("@"))
echo $domain;
// выведет @mail.ru

stristr

Нахождение первого вхождения подстроки, не учитывая регистр.
Синтаксис:

string stristr(string haystack, string needle)

Функция stristr() возвращает участок строки, заданной в параметре haystack, начиная с первого фрагмента, указанного в параметре needle и до конца.
В случае неудачи возвращает false.
Данная функция нечувствительна к регистру.
В случае, если needle не является строкой, то значение преобразуется в целое и используется как код искомого символа.

strrchr

Поиск последнего вхождения подстроки.
Синтаксис:

string strrchr(string haystack, string needle)

Функция strrchr() возвращает участок строки, заданной в параметре haystack, начиная с последнего фрагмента, указанного в параметре needle и до конца.
В случае неудачи возвращает false.
Данная функция чувствительна к регистру.
В случае, если needle не является строкой, то значение преобразуется в целое и используется как код искомого символа.

// получим последний каталог в $PATH
$dir = substr(strrchr($PATH, ":"), 1);
// а здесь получим все после последнего перевода строки$text = "text 1nText2nText3";
echo substr(strrchr($text, 10), 1);

strpos

Находит позицию первого вхождения подстроки в заданной строке.
Синтаксис:

int strpos(string where, string what [, int fromwhere])

Функция strpos() пытается найти в строке were подстроку what и в случае успеха возвращает позицию (индекс) этой подстроки в строке.
Первый символ строки имеет индекс 0. Необязательный параметр fromwhere можно задавать, если поиск нужно вести не с начало строки, а с какой-то другой позиции. В этом случае следует эту позицию передать в fromwhere. Если подстроку не удалось найти, функция возвращает false.
Если параметр what не строка, в этом случае его значение преобразуется в целое и используется как код искомого символа.

if(strpos($text, "a")===false) echo "Не найдено!";
// Проверка: три знака равенства

stripos

Находит позицию первого вхождения подстроки в заданной строке без учета регистра.
Синтаксис:

int stripos(string where, string what [, int fromwhere])

Функция stripos() пытается найти в строке were подстроку what и в случае успеха возвращает позицию (индекс) этой подстроки в строке.
В отличие от strpos(), эта функция не учитывает регистр символов. Первый символ строки имеет индекс 0.
Необязательный параметр fromwhere можно задавать, если поиск нужно вести не с начало строки, а с какой-то другой позиции.
В этом случае следует эту позицию передать в fromwhere. Если подстроку не удалось найти, функция возвращает false.
Если параметр what не строка, в этом случае его значение преобразуется в целое и используется как код искомого символа.

<?php$findme    = 'a';
$mystring1 = 'xyz';
$mystring2 = 'ABC';

$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);

// Конечно, 'a' не входит в 'xyz'
if ($pos1 === false) {
echo "Строка '$findme' не найдена в строке '$mystring1'";
}

// Заметьте, что используется ===. Использование == не даст верного
// результата, так как 'a' в нулевой позиции.if ($pos2 !== false) {
echo "Нашел '$findme' в '$mystring2' в позиции $pos2";
}
?>

Примечание: Функция stripos() может применяться для поиска данных в двоичной форме.
Поддержка: PHP 5

strrpos

Находит в заданной строке последнюю позицию, в которой находится заданный фрагмент.
Синтаксис:

int strrpos(string where, string what)

Данная функция ищет в строке where последнюю позицию, в которой встречался символ what (если what -
строка из нескольких символов, то выявляется только первый из них, остальные не играют никакой роли).

Если искомый символ стоит первый в строке или его вообще нет, функция возвратит 0.

В случае, если искомый символ не найден, возвращает false.

substr_count

Находит количество вхождений фрагмента в строку.
Синтаксис:

int substr_count(string where, string what)

Функция substr_count() возвращает число фрагментов what, присутствующих в строке where.

echo substr_count("www.spravkaweb.ru", ".");
// Выведет 3

strspn

Определяет присутствие начальных символов в строке.
Синтаксис:

int strspn(string str1, string str2)

Функция strspn() возвращает длину начального фрагмента строки str1, состоящего полностью из символов, которые есть в строке str2.

echo strspn("www.spravkaweb.ru", "abc");
// Выведет 3

chr

Возвращает один символ с определенным кодом.
Синтаксис:

string chr(int ascii)

Возвращает строку из одного символа с кодом $code. Эта функция полезна для вставки каких-либо непечатаемых символов в строку - например, кода нуля или символа прогона страницы, а также при работе с бинарными файлами.

<?
// Сначало создаем массив того, что мы собираемся выводить,
// не заботясь о форматировании (дизайне) информацииfor($i=0, $x=0; $x<16; $x++) {
for($y=0; $y<16; $y++) {
$Chars[$x][$y]=array($i,chr($i));
$i++;
}
}
// Теперь выводим накопленную информацию, используя идеологию
// вставки участков кода в HTML-документ
?>

<table border=1 cellpadding=1 cellspacing=0>
<?for($y=0; $y<16; $y++) {?>
<tr>
<?for($x=0; $x<16; $x++) {?>
<td>
<?=$Chars[$x][$y][0]?>:
<b><tt><?=$Chars[$x][$y][1]?></tt></b>
</td>
<?}?>
</tr>
<?}?>
</table>

ord

Возвращает ascii код символа.
Синтаксис:

int ord(string str)

Эта функция возвращает ASCII код первого символа строки str. Например, ord(chr($n)) всегда равно $n - конечно, если $n заключено между нулем и 255

strcmp

Сравнивает строки.

Синтаксис:

int strcmp(string str1, string str2)

Эта функция сравнивает две строки посимвольно (точнее, бобайтово) и возвращает:

0 - если строки полностью совпадают;

-1 - если строка str1 лексикографически меньше str2;

1 - если, наоборот, str1 "больше" str2.

Так как сравнение идет побайтово, то регистр символов влияет на результаты сравнений.

substr_compare()

Безопасное для обработки данных в двоичной форме сравнение 2 строк со смещением, с учетом или без учета регистра (PHP 5)

Описание:

int substr_compare ( string main_str, string str, int offset [, int length [, bool case_sensitivity]] )

substr_compare() сравнивает строку main_str начиная с символа, номер которого задан аргументом offset, со строкой str. В сравнении участвуют максимум length символов.

Возвращает число < 0 если main_str начиная с символа offset меньше чем str, > 0 если она больше str, и 0 если строки равны. Если length больше или равен длине main_str и offset передан, substr_compare() выводит предупреждение и возвращает FALSE.

Если case_sensitivity имеет значение TRUE, сравнение выполняется с учетом регистра.

Пример использования substr_compare()

<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // warning
?>

strncmp

Сравнивает начала строк.
Синтаксис:

int strncmp(string str1, string str2, int len)

Эта функция отличается от strcmp() тем, что сравнивает не все слово целиком, а первые len байтов. В случае, если len меньше длины наименьшей из строк, то строки сравниваются целиком.
Эта функция сравнивает две строки посимвольно (точнее, бобайтово) и возвращает:

0 - если строки полностью совпадают;

-1 - если строка str1 лексикографически меньше str2;

1 - если, наоборот, str1 "больше" str2.

Так как сравнение идет побайтово, то регистр символов влияет на результаты сравнений.

strcasecmp

Сравнивает строки без учета регистра.
Синтаксис:

int strcasecmp(string str1, string str2)

То же самое, что и strcmp(), только при работе не учитывается регистр букв.

$str1 = "Привет!";
$str2 = "привет!";
if(!strcesecmp($str1, $str2))
echo "$str1 == $str2 при сравнении строк без учета регистра";

strncasecmp

Сравнивает начала строк без учета регистра.
Синтаксис:

int strncasecmp(string str1, string str2, int len)

Функция strncasecmp() является комбинацией функций strcasecmp() и strncmp().

strnatcmp

Производит "естественное" сравнение строк.
Синтаксис:

int strnatcmp(string str1, string str2)

Данная функция имитирует сравнение строк, которое использовал бы человек.

$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "Обычная сортировкаn";
usort($arr1, "strcmp");
print_r($arr1);
echo "nЕстенственная сортировкаn";
usort($arr2, "strnatcmp");
print_r($arr2);

Данный скприпт выведет следующее:

Обычная сортировкаArray(
[0] => img1.png
[1] => img10.png
[2] => img12.png
[3] => img2.png
)

Естественная сортировкаArray(
[0] => img1.png
[1] => img2.png
[2] => img10.png
[3] => img12.png
)

strnatcasecmp

Производит "естественное" сравнение строк без учета регистра.
Синтаксис:

int strnatcasecmp(string str1, string str2)

То же, что и strnatcmp(), только игнорирует регистр.

similar_text

Производит определение схожести двух строк.
Синтаксис:

int similar_text(string firsrt, string second [, double percent])

Функция similar_text() вычисляет схожесть двух строк по алгоритму, описанному Оливером (Oliver [1993]).
Но вместо стека (как в псевдокоде Оливера) она использует рекурсивные вызовы.
Сложность алгоритма делает функцию медленной, и ее скорость пропорциональна (N^3), где N - длина наибольшей строки.
Функция возвращает число символов, совпавших в обеих строках. При передаче по ссылке третьего необязательного параметра в нем сохраняется процент совпадения строк.

levenshtein

Определение различия Левенштейна двух строк.
Синтаксис:

int levenshtein(string str1, string str2)
int levenshtein(string str1, string str2, int cost_ins, int cost_rep, int cost_del)
int levenshtein(string str1, string str2, function cost)

"Различие Левенштейна" - это минимальное чило символов, которое требовалось бы заменить, вставить или удалить для того, чтобы превратить строку str1 в str2. Сложность алгоритма пропорциональна произведению длин строк str1 и str2, что делает функцию более быстродействующей, чем similar_text().

Первая форма функции возвращает число необходимых операций над символами строк для трансформации str1 в str2.

Вторая форма имеет три дополнительных параметра: стоимость операции вставки, замены и удаления, что делает ее более адаптированной для вычисления, но при этом менее быстродействующей. Возвращается интегральный показатель сложности трансформации.
Третий вариант позволяет указать функцию, используемую для расчета сложности трансформации.
Функция cost вызывается со следующими аргументами:

применяемая операция (вставить, изменить, удалить): "I*quot;, "R", "D";

фактический символ первой строки

фактический символ второй строки

позиция строки 1

позиция строки 2

оставшаяся длина строки 1

оставшаяся длина строки 2

Вызываемая функция должна будет возвратить стоимость этой операции.
Если длина одной из строк более 255 символов, функция levenshtein() возвращает -1,
но такая длина более чем достаточна.

strcoll()

Сравнение строк с учетом текущей локали (PHP 4 >= 4.0.5, PHP 5)

Описание:

int strcoll ( string str1, string str2 )

Возвращает положительное число если str1 меньше, чем str2; отрицательное число если str1 больше, чем str2, и 0 если строки равны. strcoll() при сравнении использует установки текущей локали. Если установлена локаль C или POSIX, эта функция аналогична strcmp().

Обратите внимание, что эта функция учитывает регистр символов, и, в отличие от strcmp() не безопасна для обработки данных в двоичной форме.

Замечание: strcoll() была добавлена в PHP 4.0.5, но под Windows не была включена до версии 4.2.3.

print

Выводит строку, значение переменной или выражение.
Синтаксис:

print(string arg)

Функция print() выводит аргумент arg, в качестве которого может быть переменная или выражение.

vsprintf()

Возвращает отформатированную строку (PHP 4 >= 4.1.0, PHP 5)

Описание:

string vsprintf ( string format, array args )

Выводит значения массива args, отформатированные в соответствии с аргументом format, описанном в документации функции sprintf().

Эта функция подобна sprintf(), но она принимает не переменное число аргументов, а массив.

echo

Производит вывод одного или нескольких значений.
Синтаксис:

echo(string arg1, string [argn]...)

Функция echo() выводит значения перечисленных параметров.
echo() - фактически языковая конструкция, поэтому для нее не обязательны скобки, даже если используется несколько аргументов.
echo "Перенос на следующую строку,имеющийся в коде, сохраняетсяи используется при выводе".
"чтобы избежать этого используйте".
"оператор конкатенации";

printf

Вывод отформатированной строки.
Синтаксис:

int printf(string format [, mixed args, ...]);

Делает то же самое, что и sprintf(), только результирующая строка не возвращается, а направляется в браузер пользователя.

sprintf

Производит форматирование строки с подстановкой переменных.
Синтаксис:

sprintf($format [,args, ...])

Эта функция возвращает строку, составленную на основе строки форматирования, содержащей некоторые специальные символы, которые будут впоследствии заменены на значения соответствующих переменных из списка аргументов.
Строка форматирования $format может включать в себя команды форматирования, предваренные символом %.
Все остальные символы копируются в выходную строку как есть. Каждый спецификатор формата (то есть, символ % и следующие за ним команды) соответствуют одному, и только одному параметру, указанному после параметра $format. Если же нужно поместить в текст % как обычный символ, необходимо его удвоить:

echo sprintf("The percentage was %d%%",$percentage);

Каждый спецификатор формата включает максимум пять элементов (в порядке их следования после символа %):

Необязательный спецификатор размера поля, который указывает, сколько символов будет отведено под выводимую величину.
В качестве символов-заполнителей (если значение имеет меньший размер, чем размер поля для его вывода)
может использоваться пробел или 0, по умолчанию подставляется пробел. Можно задать любой другой символ-наполнитель, если указать его в строке форматирования, предварив апострофом.
Опциональный спецификатор выравнивания, определяющий, будет результат выровнен по правому или по левому краю поля. По умолчанию производится выравнивание по правому краю, однако можно указать и левое выравнивание, задав символ - (минус).

Необязательное число, определяющее размер поля для вывода величины. Если результат не будет в поле, то он "вылезет" за края этого поля, но не будет усечен.
Необязательное число, которое предварено точкой ".", предписывающее, сколько знаков после запятой будет в результирующей строке.
Этот спецификатор учитывается только в том случае, если происходит вывод числа с плавающей точкой, в противном случае он игнорируется.
Наконец, обязательный (заметьте - единственный обязательный!) спецификатор типа величины, которая будет помещена в выходную строку:

b - очередной аргумент из списка выводится как двоичное целое число
c - выводится символ с указанным в аргументе кодом
d - целое число
f - число с плавающей точкой
o - восьмеричное целое число
s - строка символов
x - шестнадцатиричное целое число с маленькими буквами a-z
X - шестнадцатиричное целое число с большими буквами A-Z

Вот как можно указать точность представления чисел с плавающей точкой:

$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money выведет "123.1"...
$formatted = sprintf ("%01.2f", $money);
// echo $formatted выведет "123.10"!

Вот пример вывода целого числа, предваренного нужным количеством нулей:

$isodate=sprintf("%04d-%02d-%02d",$year,$month,$day);

sscanf

Производит интерпретацию строки согласно формату и занесение значений в переменные.

Синтаксис:

mixed sscanf(string str, string format [, string var1 ...])

Функция sscanf() является противоположностью функции printf().

Она интерпретирует строку str согласно формату format, аналогично спецификации printf().

При указании только двух аргументов полученные значения возвращаются в массиве.

// получение серийного номера$serial = sscanf("SN/235-0001", "SN/%3d-%4d");
echo $serial[0]*10000+$serial[1]; // выводит: 2350001
// и даты изготовления$date = "January 01 2000";
list($month, $day, $year) = sscanf($date, "%s %d %d");
echo "Дата: $year-".substr($month,0,3)."-$dayn";
// выводит: 2000-Jan-01

При указании дополнительных необязательных параметров (их следует передавать по ссылке)

функция возвращает их число. Те переменные, которые не получают значений, в возвращаемом значении не учитываются.

// генерируем XML запись из строки$auth = "765tLewis Carroll";
$n = sscan($auth,"%dt%s %s", &$id, &$first, &$last);
echo "<author id="$id">
<firstname>$first</firrstname>
<surname>$last</surname>
</author>n";

fprintf()

Записывает отформатированную строку в поток (PHP 5)

Описание:

int fprintf ( resource handle, string format [, mixed args] )

Записывает строку, созданную с использованием строки формата format, в поток, дескриптор которого передается в handle. Аргумент format подробно рассмотрен в описании функции sprintf().

Возвращает длину выведенной строки.

Примеры

fprintf(): заполнение нулями

<?php
if (!($fp = fopen('date.txt', 'w')))
return;

fprintf($fp, "%04d-%02d-%02d", $year, $month, $day);
// запишет форматированную дату в файл date.txt
?>

fprintf(): форматирование денежных величин

<?php
if (!($fp = fopen('currency.txt', 'w')))
return;

$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money выведет "123.1";
$len = fprintf($fp, '%01.2f', $money);
// строка "123.10" записана в файл currency.txt

echo "записано $len байт в файл currency.txt";
?>

vfprintf()

Записывает отформатированную строку в поток (PHP 5)

Описание:

int vfprintf ( resource handle, string format, array args )

Записывает строку, отформатированную в соответствии с format, в ресурс потока, указанный дескриптором handle. Форматирование осуществляется аналогично sprintf().

Работает так же, как и fprintf(), но принимает массив аргументов, а не переменное число аргументов.

Возвращает длину выведенной строки.

See also: printf(), sprintf(), sscanf(), fscanf(), vsprintf(), and number_format().
Examples

vfprintf(): zero-padded integers

<?php
if (!($fp = fopen('date.txt', 'w')))
return;

vfprintf($fp, "%04d-%02d-%02d", array($year, $month, $day));
// will write the formatted ISO date to date.txt
?>

vprintf()

Выводит отформатированную строку (PHP 4 >= 4.1.0, PHP 5)

Описание:

int vprintf ( string format, array args )

Выводит значения массива args, отформатированные в соответствии с аргументом format, описанном в документации функции sprintf().

Эта функция подобна printf(), но она принимает не переменное число аргументов, а массив.

Возвращает длину выведенной строки

number_format()

Форматирует число с разделением групп (PHP 3, PHP 4, PHP 5)

Описание:

string number_format ( float number [, int decimals] )

string number_format ( float number, int decimals, string dec_point, string thousands_sep )

number_format() возвращает отформатированное число number. Функция принимает один, два или четыре аргумента (не три):

Если передан только один аргумент, number будет отформатирован без дробной части, но с запятой (",") между группами цифр по 3.

Если переданы два аргумента, number будет отформатирован с decimals знаками после точки (".") и с запятой (",") между группами цифр по 3.

Если переданы все четыре аргумента, number будет отформатирован с decimals знаками после точки и с разделитилем между группами цифр по 3, при этом в качестве десятичной точки будет использован dec_point, а в качестве разделителя групп - thousands_sep.

Используется только первый символ строки thousands_sep. Например, при передаче foo в качестве thousands_sep для форматирования числа 1000, number_format() возвращает 1f000.

Пример использования number_format()

Во Франции обычно используются 2 знака после запятой (','), и пробел (' ') в качестве разделителя групп. Такое форматирование получается при использовании следующего кода:

<?php

$number = 1234.56;

// английский формат (по умолчанию)
$english_format_number = number_format($number);
// 1,234

// французский формат
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// английский формат без разделителей групп
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>

substr

Возвращает участок строки с определенной длиной.
Синтаксис:

string substr(string str, int start [,int length])

Возвращает участок строки str, начиная с позиции start и длиной length. Если length не задана, то подразумевается подстрока от start до конца строки str. Если start больше, чем длина строки, или же значение length равно нулю, то возвращается пустая подстрока.
Однако эта функция может делать и еще довольно полезные вещи. К примеру, если мы передадим в start отрицательное число, то будет считаться, что это число является индексом подстроки, но только отсчитываемым от конца str (например, -1 означает "начинается с последнего символа строки").

Параметр length, если он задан, тоже может быть отрицательным. В этом случае последним символом возвращаемой подстроки будет символ из str с индексом length, определяемым от конца строки.

$str = substr("abcdef", 1);     // возвратит "bcdef"
$str = substr("abcdef", 1, 3); // возвратит "bcd"
$str = substr("abcdef", -1); // возвратит "f"
$str = substr("abcdef", -2); // возвратит "ef"
$str = substr("abcdef", -3, 1); // возвратит "d"
$str = substr("abcdef", 1, -1); // возвратит "bcde"

str_repeat

Повторяет строку определенное количество раз.
Синтаксис:

string str_repeat(string str, int number)

Функция "повторяет" строку str number раз и возвращает объединенный результат.

echo str_repeat("test!",3); // выводит test!test!test!

str_pad

Дополняет строку другой строкой до определенной длины.
Синтаксис:

string str_pad(string input, int pad_length [, string pad_string [, int pad_type]])

Аргумент input задает исходную строку. Аргумент pad_length задает длину возвращаемой строки. Если он имеет значение меньше, чем исходная строка, то никакого добавления не производится.
При помощи необязательного аргумента pad_string можно указать, какую строку использовать в качестве заполнителя (по умолчанию - пробелы).

При помощи необязательного аргумента pad_type можно указать, с какой стороны следует дополнять строку: справо, слево или с обеих сторон.
Этот аргумент может принимать следующие значения:

STR_PAD_RIGHT (по умолчанию)
STR_PAD_LEFT
STR_PAD_BOTH

$str = "Aaaaa";
echo str_pad($str, 10);
// возвратит "Aaaaa"
echo str_pad($str, 10, "-=", STR_PAD_LEFT);
// возвратит "-=-=-Aaaaa"
echo str_pad($str, 10, "_", STR_PAD_BOTH)
// возвратит "_Aaaa_"

chunk_split

Возвращает фрагмент строки.
Синтаксис:

string chunk_split(string str [, int chunklen [, string end]])

Функция chunk_split() возвращает строку, в которой между каждым блоком строки str длиной chunklen (по умолчанию 76) вставляется последовательность разделителей end (по умолчанию: "rn").

Данная функция может быть полезна при конвертировании в формат "base64" для соответствия правилам RFC 2045.

// отформатируем $data, используя семантику RFC 2045
$str = chunk_split(base64_encode($data));

Эта функция работает значительно быстрее, чем ereg_replace().

strtok

Возвращает строку по частям.
Синтаксис:

string strtok(string arg1, string arg2)

Функция возвращает часть строки arg1 до разделителя arg2.
При последующих вызовах возвращается следующая часть до следующего разделителя, и так до конца строки. При первом вызове функция принимает два аргумента: исходную строку arg1 и разделитель arg2.
При каждом последующем вызове аргумент arg1 указывать не надо, иначе будет возвращаться первая часть строки. Когда возвращать больше нечего, функция вернет false. Если часть строки состоит из 0 или из пустой строки, но функция также вернет false.

$str="This is an example№string№ Aaa";
$tok = strtok($str, " ");
while($tok) {
echo "$tok";
$tok = strtok(" №");
};
// выведет: "This" "is" "an" "example" "string"

Надо заметить, что в качестве разделителей указывается последовательность символов, каждый из которых в отдельности может являться разделителем, но когда в строке последовательно встречаются два или более разделителей, функция возвращает пустую строку (что может прекратить цикл обработки, как в примере).

explode

Производит разделение строки в массив.
Синтаксис:

array explode(string seperator, string str [, int limit])

Функция explode() возвращает массив строк, каждая из которых соответствует фрагменту исходной строки str, находящемуся между разделителями, указанными аргументом separator.
Необязательный параметр limit указывает максимальное количество элементов в массиве. Оставшаяся неразделенная часть будет содержаться в последнем элементе.

$str = "Path1 Path2 Path3  Path4";
$str_exp = explode(" ", $str);
// теперь $str_exp = array([0] => Path1, [1] => Path2,
// [2] => Path3, [3] => '', [4] => Path4)

implode

Производит объединение массива в строку.
Синтаксис:

string implode(string glue, array pieces)

Функция implode() возвращает строку, которая содержит последовательно все элементы массива, заданного в параметре pieces, между которыми вставляется значение, указанное в параметре glue.

$str = implode(":", $arr);

join

Производит объединение массива в строку.
Синтаксис:

string join(string glue, array pieces)

То же, что и implode()

str_split()

Преобразует строку в массив (PHP 5)

Описание:

array str_split ( string string [, int split_length] )

Преобразует строку в массив. Если указан необязательный аргумент split_length, возвращаемый массив будет содержать части исходной строки длиной split_length каждая, иначе каждый элемент будет содержать один символ.

Если split_length меньше 1, возвращается FALSE. Если split_length больше длины строки string, вся строка будет возвращена в первом и единственном элементе массива.

Примерв использования str_split()

<?php

$str = "Hello Friend";

$arr1 = str_split($str);
$arr2 = str_split($str, 3);

print_r($arr1);
print_r($arr2);

?>

Вывод:

Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => F
[7] => r
[8] => i
[9] => e
[10] => n
[11] => d
)

Array
(
[0] => Hel
[1] => lo
[2] => Fri
[3] => end
)

str_replace

Заменяет в исходной строке одни подстроки на другие.
Синтаксис:

string str_replace(string from, string to, string str)

Эта функция заменяет в строке str все вхождения подстроки from (с учетом регистра) на to и возвращает результат. Исходная строка, переданная третьим параметром, при этом не меняется.
Также эта функция может работать с двоичными строками.

strrev

Производит реверс строки.
Синтаксис:

string strrev(string str)

функция strrev() возвращает строку str "задом наперед".

str_ireplace()

Регистро-независимый вариант функции str_replace() (PHP 5)

Описание:

mixed str_ireplace ( mixed search, mixed replace, mixed subject [, int &count] )

Эта функция возвращает строку или массив subject, в котором все вхождения search (без учета регистра символов) заменены на replace. Если не нужны сложные правила поиска/замены, использование этой функции предпочтительнее eregi_replace() или preg_replace() с модификатором i.

Если subject - массив, поиск и замена производится в каждом элементе этого массива, и возвращается также массив.

Если и search, и replace - массивы, то str_ireplace() использует все значения массива search и соответствующие значения массива replace для поиска и замены в subject. Если в массиве replace меньше элементов, чем в search, в качестве строки замены для оставшихся значений будет использована пустая строка. Если search - массив, а replace - строка, то replace будет использована как строка замены для каждого элемента массива search.

Пример использования str_ireplace()

<?php
$bodytag = str_ireplace("%body%", "black", "");
?>

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Замечание: Начиная с PHP 5.0.0 количество произведенных замен может быть получено в необязательном аргументе count, который передается по ссылке. В версиях до PHP 5.0.0 этот аргумент недоступен.

str_rot13()

Выполняет над строкой преобразование ROT13 (PHP 4 >= 4.2.0, PHP 5)

Описание:

string str_rot13 ( string str )

Выполняет над строкой str преобразование ROT13 и возвращает полученную строку. Преобразование ROT13 заключается в простом сдвиге каждой латинской буквы на 13 позиций в алфавите, остальные символы не изменяются. Обратное преобразование выполняется той же функцией.

Пример использования str_rot13()

<?php

echo str_rot13('PHP 4.3.0'); // CUC 4.3.0

?>

Замечание: В версиях младше 4.3.0 эта функция содержала ошибку, которая заключалась в том str также изменялась, как при передаче по ссылке.

str_shuffle()

Переставляет символы в строке (PHP 4 >= 4.3.0, PHP 5)

Описание:

string str_shuffle ( string str )

str_shuffle() переставляет символы в строке. Выбирается одна возможная перестановка из всех возможных.

Пример использования str_shuffle()

<?php
$str = 'abcdef';
$shuffled = str_shuffle($str);

// выведет что-то подобное этому: bfdaec
echo $shuffled;
?>

trim()

Удаляет пробелы из начала и конца строки (PHP 3, PHP 4, PHP 5)

Описание:

string trim ( string str [, string charlist] )

Эта функция возвращает строку str с удаленными из начала и конца строки пробелами. Если второй параметр не передан, trim() удаляет следующие символы:

" " - (ASCII 32 (0x20)), символ пробела.
"\t" - (ASCII 9 (0x09)), символ табуляции.
"\n" - (ASCII 10 (0x0A)), символ перевода строки.
"\r" - (ASCII 13 (0x0D)), символ возврата каретки.
"\0" - (ASCII 0 (0x00)), NUL-байт.
"\x0B" - (ASCII 11 (0x0B)), вертикальная табуляция.

Можно также задать список символов для удаления с помощью аргумента charlist. С помощью .. можно задать диапазон символов.

Пример использования trim()

<?php

$text = "\t\tЛишь несколько слов :) ... ";

echo trim($text); // "Лишь несколько слов :) ..."
echo trim($text, " \t."); // "Лишь несколько слов :)"

// удалить управляющие символы ASCII из начала и конца
// строки $binary (от 0 до 31 включительно)
$clean = trim($binary, "\x00..\x1F");

?>

Замечание: Необязательный аргумент charlist был добавлен в версии 4.1.0

rtrim()

Удаляет пробелы из конца строки (PHP 3, PHP 4, PHP 5)

Описание:

string rtrim ( string str [, string charlist] )

Второй аргумент был добавлен в PHP 4.1.0

Эта функция возвращает строку str с удаленными из конца строки пробелами. Если второй параметр не передан, rtrim() удаляет следующие символы:

" " - (ASCII 32 (0x20)), символ пробела.
"\t" - (ASCII 9 (0x09)), символ табуляции.
"\n" - (ASCII 10 (0x0A)), символ перевода строки.
"\r" - (ASCII 13 (0x0D)), символ возврата каретки.
"\0" - (ASCII 0 (0x00)), NUL-байт.
"\x0B" - (ASCII 11 (0x0B)), вертикальная табуляция.

Можно также задать список символов для удаления с помощью аргумента charlist. С помощью .. можно задать диапазон символов.

Пример использования rtrim()

<?php

$text = "\t\tЛишь несколько слов :) ... ";
$trimmed = rtrim($text);
// $trimmed = "\t\tЛишь несколько слов :) ..."
$trimmed = rtrim($text, " \t.");
// $trimmed = "\t\tЛишь несколько слов :)"
$clean = ltrim($binary, "\x00..\x1F");
// удалить управляющие символы ASCII из конца строки $binary
// (от 0 до 31 включительно)

?>

ltrim()

Удаляет пробелы из начала строки (PHP 3, PHP 4, PHP 5)

Описание:

string ltrim ( string str [, string charlist] )

Замечание: Второй аргумент был добавлен в PHP 4.1.0

Эта функция возвращает строку str с удаленными из начала строки пробелами. Если второй параметр не передан, ltrim() удаляет следующие символы:

" " - (ASCII 32 (0x20)), символ пробела.
"\t" - (ASCII 9 (0x09)), символ табуляции.
"\n" - (ASCII 10 (0x0A)), символ перевода строки.
"\r" - (ASCII 13 (0x0D)), символ возврата каретки.
"\0" - (ASCII 0 (0x00)), NUL-байт.
"\x0B" - (ASCII 11 (0x0B)), вертикальная табуляция.

Можно также задать список символов для удаления с помощью аргумента charlist. С помощью .. можно задать диапазон символов.

Пример использования ltrim()

<?php

$text = "\t\tЛишь несколько слов :) ... ";
$trimmed = ltrim($text);
// $trimmed = "Лишь несколько слов :) ... "
$trimmed = ltrim($text, " \t.");
// $trimmed = "Лишь несколько слов :) ... "
$clean = ltrim($binary, "\x00..\x1F");
// удалить управляющие символы ASCII из начала строки $binary
// (от 0 до 31 включительно)

?>

chop()

Удаляет пробелы из конца строки

Псевдоним функции rtrim()

Замечание: Действие chop() отличается от одноименной функции языка Perl, удаляющей последний символ строки.

substr_replace

Заменяет в исходной строке одни подстроки на другие.
Синтаксис:

string substr_replace(string str, string replacement, int start [, int lemgth])

Эта функция возвращает строку str, в которой часть от символа с позицией start и длиной length (или до конца, если аргумент длины не указан) заменяется строкой replacement.
Если значение start положительно, отсчет производится от начала строки str, иначе - от конца (-1 - последний символ строки).

Если значение length неотрицательное, тогда оно указывает длину заменяемого фрагмента. Если оно отрицательно, то это число символов от конца строки str до последнего символа заменяемого фрагмента (со знаком минус).

wordwrap

Разбивает исходный текст на строки с определенными завершающими символами.
Синтаксис:

string wordwrap(string str [, int width [, string break [, int cut]]])

Эта функция разбивает блок текста str на несколько строк, завершаемых символами break, так, чтобы на одной строке было не более width букв. Разбиение происходит по границе слова, так что текст остается читаемым

strtr

Комплексная замена в строке.
Синтаксис:

string strtr(string str, string from, string to)
string strtr(string str, array from)

В первом случае функция strtr() возвращает строку str, у которой каждый символ, присутствующий в строку from, заменяется на корреспондирующий из строки to. В случае, если строки from и to различной длины, то лишние конечные символы длинной строки игнорируются.
Во втором случае функция strtr() возвращает строку, в которой фрагменты строки str заменяются на соответствующие индексам значения элементов массива from. При этом функция пытается заменить сначало наибольшие фрагменты исходной строки и не выполняет замену в уже модифицированных частях строки. Таким образом, теперь мы можем выполнить несколько замен сразу:

$Subs = array(
"<name>" => "Larry",
"<time>" => date("d.m.Y")
);
$st="Привет, <name>! Сейчас <time";
echo strtr($st,$Subs);

А вот как можно "отменить" действие функции HtmlSpecialChars():

$Trans=array_flip(get_html_translation_table());
$st=strtr($st, $Trans);

В результате мы из строки, в которой все спецсимволы заменены на их HTML-эквиваленты, получим исходную строку

stripslashes

Удаление обратных слешей.
Синтаксис:

string stripslashes(string str);

Заменяет в строке str некоторые предваренные слешем символы на их однокодовые эквиваленты. Это относится к следующим символам: ", ",

stripcslashes

Преобразование специальных символов в их двоичное представление.
Синтаксис:

string stripcslashes(string str);

Возвращает строку, в которой те специальные символы, которые закомментированы (для визуального отображения)
обратным слешем, преобразуются в их естественное двоичное представление. Распознаются C-подобные записи, например: n, r ..., восьмеричные и шестнадцатеричные последовательности.

addslashes

Добавление слешей перед специальными символами строки.
Синтаксис:

string addslashes(string str);

Вставляет слеши только перед следующими символами:", " и . Функцию очень удобно использовать при вызове eval().

addcslashes

Форматирование строки слешами в С-представление.
Синтаксис:

string addcslashes(string str, string charlist);

Функция addcslashes() возвращает строку str, в которую вставлены символы обратного слеша "" перед перечисленными в строке-списке charlist символами. Это позволяет преобразовать непечатные символы в их визуальное С-представление.

quotemeta

Цитирование метасимволов.
Синтаксис:

string quotemeta(string str);

Возвращает строку, в которую добавлены обратные слеши "" перед каждым из следующих символов: . + * ? [ ^ ] ( $ )

Может использоваться для подготовки шаблонов в регулярных выражениях.

nl2br

Заменяет символы перевода строки.
Синтаксис:

string nl2br(string string)

Заменяет в строке все символы новой строки n на <br>n и возвращает результат. Исходная строка не изменяется. Обратите внимание на то, что символы r, которые присутствуют в конце строки текстовых файлов Windows, этой функцией никак не учитываются, а потому остаются на старом месте.

strip_tags

Удаляет из строки теги.
Синтаксис:

string strip_tags(string str [, string allowable_tags])

Эта функция удаляет из строки все HTML- и PHP-теги и возвращает результат.
Незавершенные или фиктивные теги вызывают ошибку.
В параметре allowable_tags можно передать теги, которые не следует удалять из строки. Они должны перечисляться вплотную друг к другу.

$st="
<b>Жирный текст</b>
<tt>Моноширный текст</tt>
<a href=http://spravkaweb.ru>Ссылка</a>";
echo "Исходный текст: $st";
echo "<hr>После удаления тегов: ".striptags($st,"<a><b>").
"<hr>";

Запустив этот пример, мы сможем заметить, что теги <a> и <b> не были удалены (ровно как и их парные закрывающие), в то время как <tt> исчез.

get_meta_tags

Функция ищет и обрабатывает все теги <META>.

Синтаксис:

array get_meta_tags(string filename, int use_include_path)

Функция открывает файл и ищет в нем все теги <META> до тех пор, пока не встретится закрывающий тег </head>.

Если очередной тег <META> имеет вид:

<meta name="название" content="содержимое">

то пара название=>содержимое добавляется в результирующий массив, который под конец и возвращается.

Спецсимволы в значении атрибута filename заменяются на знак подчеркивания "_", а алфавитные символы преобразуются в нижний регистр.

Функция удобно использовать для быстрого получения всех метатегов из указанного файла.

Если необязательный параметр use_include_path установлен, то поиск файла осуществляется не только в текущем каталоге, но и во всех тех, которые назначены для поиска инструкциями include и require.

get_html_translation_table

Функция возвращает таблицу трансляции, которая используется функциями htmlspecialchars() и htmlentities().

Синтаксис:

string get_html_translation_table(int table [, int quote_style])

В этой функции аргумент table указывает, какую таблицу трансляции необходимо получить: HTML_SPECIALCHARS для функции htmlspecialchars() или HTML_ENTITIES для функции htmlentities().

Описание необязательного параметра quote_style приведено в функции htmlspecialchars().

$trans = get_html_translation_table(HTML_ENTITIES);
$str = "<A & B>";
$encoded = strtr($str, $strans);
// $encoded = "&lt; A & B >"

Иногда удобно использовать функцию array_flip() для изменения направления транслитерации.

$trans = array_flip($trans);
$original = strtr($encoded, $trans);

htmlspecialchars

Производит преобразование спецсимволов в HTML-представление.
Синтаксис:

string HtmlSpecialChars(string str [, int quote_style]);

Основное назначение этой функции - гарантировать, что в выводимой строке ни один участок не будет воспринят как тэг.
Заменяет в строке некоторые символы (такие как амперсанд, кавычки и знаки "больше" и "меньше") на их HTML-эквиваленты,так, чтобы они выглядели на странице "самими собой". Самое типичное применение этой функции - формирование параметра value в различных элементах формы, чтобы не было никаких проблем с кавычками, или же вывод сообщения в гостевой книге, если вставлять теги пользователю запрещено.
При помощи необязательного атрибута quote_style можно указать, что делать с кавычками:

ENT_COMPAT (по умолчанию) - разрешить трансляцию только двойных кавычек
ENT_QUOTES - разрешить трансляцию любых кавычек
ENT_NOQUOTES - запретить трансляцию любых кавычек

$str = htmlspecialchars("<a href=index.php>Главная</a>", ENT_QUOTES);

htmlentities

Производит конвертацию символов, имеющих HTML-представление.
Синтаксис:

string htmlentities(string str [, int quote_style]);

Эта функция похожа на htmlspecialchars(), но только в ней производится не выборочная трансляция, а полная - для всех символов, которые могут иметь эквивалентные HTML-представления.
При помощи необязательного атрибута quote_style можно указать, что делать с кавычками:

ENT_COMPAT (по умолчанию) - разрешить трансляцию только двойных кавычек
ENT_QUOTES - разрешить трансляцию любых кавычек
ENT_NOQUOTES - запретить трансляцию любых кавычек

hebrev

Конвертация логического текста Hebrew в отображаемый.
Синтаксис:

string hebrev(string hebrew_text [, int max_chars_per_line]);

Необязательный аргумент max_chars_per_line указывает число символов на строку вывода. Функция пытается избежать разрыва слова.

hebrevc

Аналог функции hebrev() с расстановкой переносов.
Синтаксис:

string hebrevc(string hebrew_text [, int max_chars_per_line]);

Функция hebrevc() сходна с hebrev() с тем отличием, что она преобразует символы перевода строк "n" в
"<br>n".

Необязательный аргумент max_chars_per_line указывает число символов на строку вывода. Функция пытается избежать разрыва слов.

quoted_printable_decode

Преобразование цитированной строки в 8-битную.
Синтаксис:

string quoted_printable_decode(string str);

strtolower

Производит преобразование символов строки в нижний регистр.
Синтаксис:

string strtolower(string str);

Преобразует строку в нижний регистр. Возвращает результат перевода.
Надо заметить, что при неправильной настройке локали функция будет выдавать, мягко говоря, странные результаты при работе с буквами кириллицы.

$str = "HeLLo World";
$str = strtolower($str);
echo $str;
// выведет hello world

strtoupper

Производит преобразование заданной строки в верхний регистр.
Синтаксис:

string strtoupper(string str);

Переводит строку в верхний регистр. Возвращает результат преобразования. Эта функция хорошо работает с английскими буквами, но с русскими может чудить.

$str = "Hello World";
$str = strtoupper($str);
echo $str;
// выведет HELLO WORLD

ucfirst

Производит преобразование первого символа строки в верхний регистр.
Синтаксис:

string ucfirst(string str);

Возвращает строку, у которой первый символ заглавный.
Символы кириллицы могут быть неправильно конвертированы.

$str = "hello world";
$str = ucfirst($str);
echo $str;
// выведет Hello world

ucwords

Производит преобразование первого символа каждого слова строки в верхний регистр.
Синтаксис:

string ucwords(string str);

Возвращает строку, у которой первый символ каждого слова в строке заглавный.
Под словом здесь понимается участок строки, которому предшествует пробельный символ: пробел, переход на новую строку, прогонка страницы, возврат каретки, горизонтальная и вертикальная табуляция.
Символы кириллицы могут быть неправильно конвертированы.

$str = "hello world";
$str = ucfirst($str);
echo $str;
// выведет Hello World

setlocale

Установка региональных настроек.
Синтаксис:

string SetLocale(string category, string locale);

Функция setlocale устанавливает текущую локаль, с которой будут работать функции преобразования регистра символов, вывода даты-времени и т.д. Вообще говоря, для каждой категории функций локаль определяется отдельно и выглядит по-разному.
То, какую именно категорию функций затронет вызов setlocale(), задается в параметре category. Он может принимать следующие строковые значения:

LC_CTYPE - активизирует указанную локаль для функций перевода в верхний/нижний регистры;
LC_NUMERIC - активизирует локаль для функций форматирования дробных чисел - а именно, задает
разделитель целой и дробной части в числах;
LC_TIME - задает формат вывода даты и времени по умолчанию;
LC_ALL - устанавливает все вышеперечисленные режимы.
Теперь поговорим о параметре locale. Как известно, каждая локаль, установленная в системе, имеет свое уникальное имя, по которому к ней можно обратиться. Именно оно и фиксируется в этом параметре. Однако, есть два важных исключения из этого правила.
Во-первых, если величина locale равна пустой строке "", то устанавливается та локаль, которая указана в глобальной переменной окружения с именем, совпадающем с именем категории category (или LANG - она практически всегда присутствует в Unix).

Во-вторых, если в этом параметре передается 0, то новая локаль не устанавливается, а просто возвращается имя текущей локали для указанного режима.

localeconv()

Возвращает информацию о числовых форматах (PHP 4 >= 4.0.5, PHP 5)

Описание:

array localeconv ( void )

Возвращает ассоциативный массив с информацией о числовых и денежных форматах в текущей локали.

localeconv() возвращает данные, основанные на текущей локали, установленной функцией setlocale(). Возвращаемый массив содержит следующие элементы:

ЭлементОписание
decimal_pointСимвол десятичной точки
thousands_sepРазделитель групп
groupingМассив, содержащий количества цифр в группах для числовых данных
int_curr_symbolМеждународное обозначение валюты (например RUR)
currency_symbolНациональное обозначение валюты (например р.)
mon_decimal_pointСимвол десятичной точки в денежном формате
mon_thousands_sepРазделитель групп в денежном формате
mon_groupingМассив, содержащий количества цифр в группах для денежных данных
positive_signЗнак для положительных чисел
negative_signЗнак для отрицательных чисел
int_frac_digitsЧисло разрядов после точки (международное)
frac_digitsЧисло разрядов после точки (национальное)
p_cs_precedesTRUE если currency_symbol записывется перед положительным значением, иначе FALSE
p_sep_by_spaceTRUE если currency_symbol отделяется от положительного значения пробелом, иначе FALSE
n_cs_precedesTRUE если currency_symbol записывется перед отрицательным значением, иначе FALSE
n_sep_by_spaceTRUE если currency_symbol отделяется от отрицательного значения пробелом, иначе FALSE
p_sign_posnДля положительных чисел
0 Число и обозначение валюты заключаются в скобки
1 Знак записывается перед числом и обозначением валюты
2 Знак записывается после числа и обозначения валюты
3 Знак записывается перед обозначением валюты
4 Знак записывается после обозначения валюты
n_sign_posnДля отрицательных чисел
0 Число и обозначение валюты заключаются в скобки
1 Знак записывается перед числом и обозначением валюты
2 Знак записывается после числа и обозначения валюты
3 Знак записывается перед обозначением валюты
4 Знак записывается после обозначения валюты

Элементы группировки описывают способ группировки цифр. Например, в локали en_US элемент grouping содержит массив из 2 элементов со значениями 3 и 3. Больший индек массива соответствует группировке цифр, расположенных левее. Если элемент массива равен CHAR_MAX, последующие цифры не группируются. Если элемент массива равен 0, используется значение предыдущего элемента.

Пример использования localeconv()

<?php
setlocale(LC_ALL, "ru_RU");

$locale_info = localeconv();

echo "<pre>\n";
echo "----------------------------------------------\n";
echo "Информация о форматировании числовых величин: \n";
echo "----------------------------------------------\n\n";

echo "int_curr_symbol: {$locale_info["int_curr_symbol"]}\n";
echo "currency_symbol: {$locale_info["currency_symbol"]}\n";
echo "mon_decimal_point: {$locale_info["mon_decimal_point"]}\n";
echo "mon_thousands_sep: {$locale_info["mon_thousands_sep"]}\n";
echo "positive_sign: {$locale_info["positive_sign"]}\n";
echo "negative_sign: {$locale_info["negative_sign"]}\n";
echo "int_frac_digits: {$locale_info["int_frac_digits"]}\n";
echo "frac_digits: {$locale_info["frac_digits"]}\n";
echo "p_cs_precedes: {$locale_info["p_cs_precedes"]}\n";
echo "p_sep_by_space: {$locale_info["p_sep_by_space"]}\n";
echo "n_cs_precedes: {$locale_info["n_cs_precedes"]}\n";
echo "n_sep_by_space: {$locale_info["n_sep_by_space"]}\n";
echo "p_sign_posn: {$locale_info["p_sign_posn"]}\n";
echo "n_sign_posn: {$locale_info["n_sign_posn"]}\n";
echo "</pre>\n";
?>

Использование константы CHAR_MAX описано выше.

money_format()

Форматирует число как денежную величину (PHP 4 >= 4.3.0, PHP 5)

Описание:

string money_format ( string format, float number )

money_format() форматирует число number как денежную величину. Эта функция вызывает функцию strfmon языка C, но позволяет преобразовать только одно число за один вызов.

Замечание: Функция money_format() определена только если в системе присутствует функция strfmon. Например, в Windows она отсутствует, поэтому money_format() не определена в Windows.

Описание формата состоит из:

• символа %
• необязательных флагов
• необязательной ширины поля
• необязательной точности до запятой
• необязательной точности после запятой
• обязательного описателя преобразования

Флаги. Могут быть использованы следующие флаги:

=fСимвол =, за которым следует еще один символ, задает символ заполнения. По умолчанию пробел.
^Запрещает группировку символов (определяемую текущей локалью).
+
или
(
Задает способ форматирования положительных и отрицательных значений. При использовании + будут использоваться аналоги символов + и - из текущей локали. Если указана (, отрицательные числа будут заключены в скобки. По умолчанию +.
!Подавляет вывод символа валюты.
-Если этот флаг задан, поля будут выравнены влево, вместо используемого по умолчанию выравнивания вправо.

Ширина поля.

w

Строка из десятичных цифр, задающая минимальную ширину поля. Поле будет выравнено вправо, если не указан флаг -. Значение по умолчанию - 0 (ноль).

Точность до запятой.

#n

Максимальное количество цифр (n), которое ожидается до запятой. Это обычно используется при выводе значений одно под другим, чтобы десятичные точки распологались в одной колонке, при этом используется символ заполнения, если число цифр меньше n. Если число цифр больше n, этот параметр игнорируется.

Если группировка не была запрещена флагом ^, разделители групп будут вставлены перед добавлением символов заполнения. Разделители групп не вставляются между символами заполнения, даже если заполнитель - цифра.

Для обеспечения выравнивания, все символы, выводимые до или после числа, такие как сивол валюты или знак, будут дополнены пробелами до одинаковой ширины.

Точность после запятой .

.p

Точка, за которой следует число знаков, выводимых после запятой. Если значение p рано нулю, десятичная точка и цифры после нее не будут выводиться. Если этот параметр отсутствует, число знаков после запятой определяется текущей локалью. Перед форматированием число округляется до указанного количества знаков.

Описатель преобразования .

i

Используется международный денежный формат из текущей локали (например, для американской локали: USD 1,234.56).

n

Используется национальный денежный формат из текущей локали (например, для локали de_DE: DM1.234,56).

%

Вставляет символ %.

Замечание: На работу этой функции влияет установка категории LC_MONETARY текущей локали. Перед использованием этой функции установите нужную локаль с помощью setlocale().

Символы перед и после описания формата возвращаются без изменений.

Пример использования money_format()

Проиллюстрируем применение этой функции для различных локалей и разных описаний формата.

<?php

$number = 1234.56;

// международный формат в локали en_US
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
// USD 1,234.56

// Итальянский национальный формат с 2 знаками после запятой
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
// L. 1.234,56

// Использование отрицательных чисел
$number = -1234.5672;

// национальный формат США, с использованием скобок для
// отрицательных чисел и 10 знаков до запятой
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
// ($ 1,234.57)

// подобно предыдущему, но с добавлением 2 знаков после запятой
// и '*' в качестве символа заполнения
echo money_format('%=*(#10.2n', $number) . "\n";
// ($********1,234.57)

// Выравнивание влево, ширина 14 знаков, 8 знаков дозапятой,
// 2 знака после запятой, без разбиения на группы
// с использованием международного формата в локали de_DE.
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
// DEM 1234,56****

// А теперь добавим текст перед и после описателя формата
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'The final value is %i (after a 10%% discount)';
echo money_format($fmt, 1234.56) . "\n";
// The final value is GBP 1,234.56 (after a 10% discount)

?>

nl_langinfo()

Возвращает информацию о языке и локали (PHP 4 >= 4.1.0, PHP 5)

Описание:

string nl_langinfo ( int item )

nl_langinfo() используется для доступа к отдельным элементам различных категорий текущей локали. В отличии от localeconv(), возвращающей все элементы, nl_langinfo() позволяет выбрать отдельный элемент.

Если аргумент item имеет недопустимое значение, возвращает FALSE.

item может быть целым числом или соответствующей константой. Ниже приведены возможные константы и их описания. Для некоторых локалей отдельные константы могут быть не определены.

Таблица. Константы nl_langinfo

КонстантаОписание
Константы в категории LC_TIME
ABDAY_(1-7)Сокращенное название n-го дня недели.
DAY_(1-7)Полное название n-го дня недели (DAY_1 соответствует воскресенью).
ABMON_(1-12)Сокращенное название n-го месяца.
MON_(1-12)Полное название n-го месяца.
AM_STRОбозначение "до полудня".
PM_STRОбозначение "после полудня".
D_T_FMTСтрока, которую можно использовать в качестве формата с функцией strftime() для вывода даты и времени.
D_FMTСтрока, которую можно использовать в качестве формата с функцией strftime() для вывода даты.
T_FMTСтрока, которую можно использовать в качестве формата с функцией strftime() для вывода времени.
T_FMT_AMPMСтрока, которую можно использовать в качестве формата с функцией strftime() для вывода времени в 12-часовом формате.
ERAЭра
ERA_YEARГод в формате с эрой
ERA_D_T_FMTДата и время в формате с эрой (Строка, которую можно использовать в качестве формата с функцией strftime()).
ERA_D_FMTДата в формате с эрой (Строка, которую можно использовать в качестве формата с функцией strftime()).
ERA_T_FMTВремя в формате с эрой (Строка, которую можно использовать в качестве формата с функцией strftime()).
Константы в категории LC_MONETARY
INT_CURR_SYMBOLМеждународное обозначение валюты.
CURRENCY_SYMBOLНациональное обозначение валюты.
CRNCYSTRАналог CURRENCY_SYMBOL.
MON_DECIMAL_POINTСимвол десятичной точки.
MON_THOUSANDS_SEPРазделитель тысяч (групп из 3 цифр).
MON_GROUPINGАналогичен элементу 'grouping'.
POSITIVE_SIGNЗнак для положительных чисел.
NEGATIVE_SIGNЗнак для отрицательных чисел.
INT_FRAC_DIGITSКоличество знаков после запятой (международный формат).
FRAC_DIGITSКоличество знаков после запятой (национальный формат).
P_CS_PRECEDESВозвращает 1, если CURRENCY_SYMBOL записывется перед положительным значением.
P_SEP_BY_SPACEВозвращает 1, если CURRENCY_SYMBOL отделяется от положительного значения пробелом.
N_CS_PRECEDESВозвращает 1, если CURRENCY_SYMBOL записывется перед отрицательным значением.
N_SEP_BY_SPACEВозвращает 1, если CURRENCY_SYMBOL отделяется от отрицательного значения пробелом.
P_SIGN_POSNВозвращает 0 если число и обозначение валюты заключаются в скобки
Возвращает 1 если знак записывается перед числом и обозначением валюты
Возвращает 2 если знак записывается после числа и обозначения валюты
Возвращает 3 если знак записывается перед обозначением валюты
Возвращает 4 если знак записывается после обозначения валюты
N_SIGN_POSN
Константы в категории LC_NUMERIC
DECIMAL_POINTСимвол десятичной точки.
RADIXCHARАналогично DECIMAL_POINT.
THOUSANDS_SEPРазделитель тысяч (групп из 3 цифр).
THOUSEPАналогично THOUSANDS_SEP.
GROUPING
Константы в категории LC_MESSAGES
YESEXPRРегулярное выражение, при совпадении с которым строка рассматривается как ответ 'да'.
NOEXPRРегулярное выражение, при совпадении с которым строка рассматривается как ответ 'нет'.
YESSTRСлово 'да'.
NOSTRСлово 'нет'.
Константы в категории LC_CTYPE
CODESETВозвращает строку с именем текущей кодировки.

Замечание: Для Windows-платформ эта функция не реализована

convert_cyr_string()

Преобразует строку из одной кодировки кириллицы в другую.

Синтаксис:

string convert_cyr_string(string str, string from, string to);

Функция переводит строку str из кодировки from в кодировку to. Конечно, это имеет смысл только для строк, содержащих "русские" буквы, т.к. латиница во всех кодировках выглядит одинаково.

Разумеется, кодировка from должна совпадать с истинной кодировкой строки, иначе результат получится неверным. Значения from и to - одиночный символ, определяющий кодировку:

k - koi8-r w - windows-1251
i - iso8859-5
a - x-cp866
d - x-cp866
m - x-mac-cyrillic

Функция работает достаточно быстро, так что ее вполне можно применять для перекодировки писем в нужную форму перед их отправкой по электронной почте.

bin2hex

Производит преобразование символьных данных в шестнадцатеричный вид.
Синтаксис:

string bin2hex(string str)

Функция bin2hex() возвращает строковое шестнадцатеричное представление символьно-байтовых данных, содержащихся в строке str.
Конвертация производиться побайтово, старший полубайт указывается первым.

iconv

Преобразует строку из одной кодировки в другую.
Синтаксис:

string iconv(string from, string to, string str);

Функция переводит строку str из кодировки from в кодировку to. Возвращает строку в новой кодировке, или FALSE в случае ошибки. Если добавить //TRANSLIT к параметру to будет включена транслитеризация. Это означает, что вслучае, когда символа нет в конечной кодировке, он заменяется одним

convert_uudecode()

Преобразует строку из формата uuencode в обычный вид (PHP 5)

Описание:

string convert_uudecode ( string data )

convert_uudecode() преобразует строку data из формата uuencode в обычный вид.

Пример использования функции convert_uudecode()

<?php
/* Догадаетесь, что выведет этот код? :) */
echo convert_uudecode("+22!L;W9E(%!(4\"$`\n`");
?>

convert_uuencode()

Преобразует строку в формат uuencode (PHP 5)

Описание:

string convert_uuencode ( string data )

convert_uuencode() преобразует строку data в формат uuencode.

Кодирование Uuencode переводит строки (включая двоичные символы) в последовательности печатных (7-битных) ASCII-символов, что позволяет безопасно обмениваться данными через четь. Закодированные данные примерно на 35% больше оригинала.

Пример использования функции convert_uuencode()

<?php
$some_string = "test\ntext text\r\n";

echo convert_uuencode($some_string);
?>

parse_url

Обрабатывает URL и возвращает его компоненты.
Синтаксис:

array parse_url(string url);

Эта функция возвращает ассоциативный массив, включающий множество различных существующих компонентов URL.
Они включают "scheme", "host", "port", "user", "pass", "path", "query" и "fragment".

parse_str

Заносит строки URL в переменные.
Синтаксис:

void parse_str(string str [, array arr]);

Функция parse_str() интерпретирует строку str, как если бы эта строка содержала в себе переменные и их значения и передавалась бы в URL. Наша функция устанавливает для этих переменных значения.
Если задан второй необязательный параметр, то значения, найденные при помощи функции parse_str(),
сохраняться не в глобальных переменных, а в элементах указанного массива.

$str = "name[]=Vasia&name[]=Pupkin&id=12645&mail=vasia@mail.ru&url=www.vasia.ru";
parse_str($str);
parse_str($str, $arr);
echo $id; // выведет 1264
echo $name[0]; // выведет Vasiaecho $name[1]; // выведет Pupkinprint_r($arr);
выведет
Array(
[name] => Array
(
[0] => Vasia
[1] => Pupkin
)

[id] => 12645
[mail] => vasia@mail.ru
[url] => www.vasia.ru
)

urlencode

Кодирование строки в URL

Синтаксис:

string urlencode (string str)

Возвращает строку, в которой все не алфавитно-цифровые символы (за исключением дефиса "-" и знака подчеркивания "_" и точки ".") заменены последовательностями: знак процента (%), за которым следуют две шестнадцатеричные цифры (обозначающие код символа), а символ пробела заменен на знак "+". Именно таким образом кодируются все данные, посылаемые HTML-формами. Медиа-тип этого кодирования обозначается как application/x-www-form-urlencoded; он отличается от стандарта кодирования RFC 1738 (rawurlencode()) тем, что по историческим причинам пробелы заменяются на знак плюс.
Эта функция удобна при кодировании строки для использования в строке запроса, являющейся частью URL, и при передаче переменных на следующую страницу:

<?phpecho '<a href="mycgi?foo=', urlencode($userinput), '">';
?>
<?php$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($query_string) . '">';
?>

urldecode

Декодирование строки из URL

Синтаксис:

string urldecode (string str) 

Декодирует в строке последовательности %## (так в URL кодируются спецсимволы).

<?php$a = explode('&', $QUERY_STRING);
$i = 0;
while ($i < count($a)) {
$b = split('=', $a[$i]);
echo 'Value for parameter ', htmlspecialchars(urldecode($b[0])),
' is ', htmlspecialchars(urldecode($b[1])), "<br />n";
$i++;
}
?>

rawurlencode

Кодирование URL.

Синтаксис:

string RawUrlEncode(string str);

Функция RawUrlEncode() возвращает строку, в которой все не алфавитно-цифровые символы (за исключением дефиса "-", знака подчеркивания "_" и точки ".") заменены последовательностями: знак процента (%), за которым следуют две шестнадцатеричные цифры, которые обозначают код символа. Это кодирование нужно для того, чтобы буквенные символы не обрабатывались в качестве разделителей строки URL и не искажались при передаче в сетях.

echo "<A href=ftp://user:".rawurlencode($mypasswd).
"@ftp.my.com/x.txt>"; // передача пароля в гиперссылке

rawurldecode

Производит декодирование URL.

Синтаксис:

string rawurldecode(string str);

Эта функция возвращает строку, в которой последовательности с знаком процента (%) и следующими за ним двумя шестнадцатеричных числа преобразует в символы, соответствующими этому коду. Аналогична urldecode(), но не воспринимает + как пробел.

$str="foo%20bar%40baz";
echo rawurldecode($str);
// выведет foo bar@baz

base64_encode

Кодирует данные в кодировке MIME base64.

Синтаксис:

string base64_encode(string data);

base64_encode() возвращает data закодированные в кодировке base64.
Эта кодировка разработана для того, чтобы передавать двоичные данные через транспортные слои, которые не содержат восьмой бит, такие как почтовые тела. Данные в кодировке Base64 занимают примерно на 33% больше места, чем оригинал.

base64_decode

Декодирует данные, закодированные в кодировке MIME base64.

Синтаксис:

string base64_decode(string encoded_data);

base64_decode() декодирует encoded_data и возвращает оригинал данных. Возвращаемые данные могут быть двоичными

pack

Пакетирование данных в двоичную строку.
Синтаксис:

string pack(string format [,mixed $args, ...]);

Функция pack() упаковывает заданные аргументы в бинарную строку, которая затем и возвращается. Формат параметров, а также их количество, задается при помощи строки $format, которая представляет собой набор однобуквенных спецификаторов форматирования - наподобие тех, которые указываются в sprintf(), но только без знака %.

После каждого спецификатора может стоять число, которое отмечает, сколько информации будет обработано данным спецификатором.
А именно, для форматов a,A,h и H число задает, какое количество символов будет помещено в бинарную строку из тех, что находится в очередном параметре-строке при вызове функции (то есть, определяет размер поля для вывода строки).

В случае @ оно определяет абсолютную позицию, в которую будут помещены следующие данные.
Для всех остальных спецификаторов следующие за ними числа задают количество аргументов, на которые распространяется действие данного формата. Вместо числа можно указать *, в этом случае подразумевается, что спецификатор действует на все оставшиеся данные.
Вот полный список спецификаторов формата:

a - строка, свободные места в поле заполняются символом с кодом 0;
A - строка, свободные места заполняются пробелами;
h - шестнадцатиричная строка, младшие разряды в начале;
H - шестнадцатиричная строка, старшие разряды в начале;
c - знаковый байт (символ);
C - беззнаковый байт;
s - знаковое короткое целое (16 битовб порядок байтов определяется архитектурой процессора);
S - беззнаковое короткое число;
n - беззнаковое целое (16 битов, старшие разряды в конце);
v - беззнаковое целое (16 битов, младшие разряды в конце);
i - знаковое целое (размер и порядок байтов определяется архитектурой);
I - беззнаковое целое;
l - знаковое длинное целое (32 бита, порядок знаков определяется архитектурой);
L - беззнаковое длинное целое;
N - беззнаковое длинное целое (32 бита, старшие разряды в конце);
V - беззнаковое целое (32 бита, младшие разряды в конце);
f - число с плавающей точкой (зависит от архитектуры);
d - число с плавающей точкой двойной точности (зависит от архитектуры);
x - символ с нулевым кодом;
X - возврат назад на 1 байт;
@ - заполнение нулевым кодом до заданной абсолютной позиции.

// Целое, целое, все остальное - сиволы$bindata = pack("nvc*", 0x1234, 0x5678, 65, 66);

После выполнения приведенного кода в строке $bindata будет содержаться 6 байтов в такой последовательности: 0x12, 0x34, 0x78, 0x56, 0x41, 0x42 (в шестнадцатиричной системе счисления).

unpack

Распаковывает данные из двоичной строки.
Синтаксис:

array unpack(string format, string data);

Распаковывает данные из двоичной строки в массив согласно формату. Возвращает массив, содержащий распакованные элементы.

$array = unpack("c2chars/nint", $binarydata);

Возникающий в результате массив будет содержать "chars1", "chars2" и "int".

strlen

Возвращает длину строки.
Синтаксис:

int strlen(string str)

Возвращает просто длину строки, т.е., сколько символов содержится в str.
Строка может содержать любые символы, в том числе и с нулевым кодом. Функция strlen() будет правильно работать и с такими строками.

sha1()

Возвращает SHA1 хэш строки (PHP 4 >= 4.3.0, PHP 5)

Описание:

string sha1 ( string str [, bool raw_output] )

Возвращает хэш строки str, вычисленный по алгоритму US Secure Hash Algorithm 1. Хэш представляет собой 40-разрядное шестнадцатиричное число. Если необязательный аргумент raw_output имет значение TRUE, хэш возвращается в виде двоичной строки из 20 символов.

Замечание: Необязательный аргумент raw_output был добавлен в PHP 5.0.0 и по умолчанию равен FALSE.

Пример использования sha1()

<?php
$str = 'яблоко';

if (sha1($str) === '6099a566a619528259db5aa8d7a5aa2d4122259a') {
echo "Желаете зеленое или красное яблоко?";
exit;
}
?>

count_chars

Возвращает информацию о символах строки.
Синтаксис:

mixed count_chars(string str [, int mode])

Функция count_chars() подсчитывает частоту встречаемости каждого байта (0-255) в строке str и возвращает в массиве результат согласно необязательному аргументу mode. mode может принимать следующие значения:

0 (по умолчанию)- массив с байтами в качестве индексов и частотой повторения в качестве значений
элемента массива
1 - похож на 0, но отсутствующие в строке str байты не возвращаются
2 - похож на 0, но возвращаются только те байты, которые отсутствуют
3 - возвращается строка, состоящая из всех обнаруженных символов
4 - возвращается строка, состоящая из всех отсутствующих символов

md5

Получение строки-хеша MD5.

Синтаксис:

string md5(string str);

Возвращает хеш-код строки str, основанный на алгоритме корпорации RSA Data Security под названием "MD5 Message-Digest Algorithm".

Хеш-код - это просто строка, практически уникальная для каждой из строк str. То есть вероятность того, что две разные строки, переданные в str, дадут нам одинаковый хеш-код, стремиться к нулю.
В то же время, если длина строки str может достигать нескольких тысяч символов, то ее MD5-код занимает максимум 32 символа.

crc32

Получение полиминала строки crc32.

Синтаксис:

int crc32(string str);

Функция crc32() вычисляет 32-битную контрольную сумму строки str. То есть, результат ее работы - 32-битное (4-байтовое) целое число.
Обычно эту функцию используют для проверки целостности переданных данных.
Эта функция работает гораздо быстрее md5(), но в то же время выдает гораздо менее надежные "хеш-коды"
для строки.
Так что, теперь, чтобы получить методом случайного подбора для двух разных строк одинаковые "хеш-коды",
вам потребуется не триллион лет работы самого мощного компьютера, а всего лишь год-другой.

crypt

Производит симметричное шифрование.
Синтаксис:

string crypt(string str [,string salt]);

В аргументе str задается строка, которую надо зашифровать.
Хеш-код для одной и той же строки, но с различными значениями salt (Кстати, это должна быть обязательно двухсимвольная строка) дает разные результаты. Если параметр salt пропущен, PHP сгенерирует его случайным образом.
В системах, которые поддерживают несколько алгоритмов шифрования, следующие константы устанавливаются равными 1 или 0, в зависимости от того, поддерживается ли данный алгоритм или нет:

CRYPT_STD_DES - стандартное 2-байтовое DES-шифрование (SALT=2)
CRYPT_EXT_DES - расширенное 9-байтовое DES-шифрование (SALT=9)
CRYPT_MD5 - 12-байтовое MD5-шифрование (SALT начинается с $1$)
CRYPT_BLOWFISH - расширенное 12-байтовое DES-шифрование (SALT начинается с $2$)

Т.к. данная функция использует односторонний алгоритм шифрования, то функции дешифрования не имеется.

metaphone

Производит вычисление метафон-хеша.
Синтаксис:

string metaphone(string str);

Данная функция схожа по действию с soundex(), вычисляет код произношения слова, переданного в строке str, но с повышенной точностью вычисления, т.к. использует правила произношения английского языка.
Возвращаемое строковое значение может быть переменной длины.

soundex

Вычисления хеша сходности произношения.
Синтаксис:

string soundex(string str);

Функция soundex() используется для проверки правописания, когда приблизительно известно как звучит слово, но не известно, как оно пишется, и имеется словарь (база данных), относительно которого можно осуществить проверку.
Возвращается строка из 4 символов: первая буква слова и 3 цифры.

soundex("Euler") == soundex("Ellery") == "E460";
soundex("Gauss") == soundex("Ghosh") == "G200";
soundex("Hilbert") == soundex("Heilbronn") == "H416";
soundex("Knuth") == soundex("Kant") == "K530";
soundex("Lloyd") == soundex("Ladd") == "L300";
soundex("Lukasiewicz") == soundex("Lissajous") == "L222";

md5_file()

Возвращает MD5 хэш файла (PHP 4 >= 4.2.0, PHP 5)

Описание:

string md5_file ( string filename [, bool raw_output] )

Вычисляет MD5 хэш файла, имя которого задано аргументом filename используя алгоритм MD5 RSA Data Security, Inc. и возвращает этот хэш. Хэш представляет собой 32-значное шестнадцатеричное число. Если необязательный аргумент raw_output имеет значение TRUE, то возвращается бинарная строка из 16 символов.

Замечание: Необязательный аргумент raw_output был добавлен в PHP 5.0.0 и по умолчанию равен FALSE

По назначению эта функция аналогична консольной программе md5sum

sha1_file

Возвращает SHA1 хэш файла (PHP 4 >= 4.3.0, PHP 5)

Описание:

string sha1_file ( string filename [, bool raw_output] )

Вычисляет SHA1 хэш файла, имя которого задано аргументом filename, используя алгоритм US Secure Hash Algorithm 1 и возвращает этот хэш. Хэш представляет собой 40-значное шестнадцатеричное число. Если необязательный аргумент raw_output имеет значение TRUE, то возвращается двоичная строка из 20 символов.

Замечание: Необязательный аргумент raw_output был добавлен в PHP 5.0.0 и по умолчанию равен FALSE

str_word_count()

Возвращает информацию о словах, входящих в строку (PHP 4 >= 4.3.0, PHP 5)

Описание:

mixed str_word_count ( string string [, int format] )

Подсчитывает количество слов, входящих в строку string. Если необязательный аргумент format не передан, возвращается целое число, равное количеству слов. В случае, если аргумент format передан, возвращается массив, содержимое которого зависит от значения этого аргумента. Ниже описаны допустимые значения аргумента format и соответствующие им возвращаемые значения.

1 - возвращается массив, содержащий все слова, входящие в строку string.
2 - возвращается массив, индексами которого являются позиции в строке, а значениями - соответствующие слова.

Эта функция считает словами последовательности алфавитных символов, возможно, включающие, но не начинающихся с "'" и "-". Набор символов, считающихся алфавитными, зависит от текущей локали.

Пример использования str_word_count()

<?php

$str = "Hello friend, you're
looking good today!";

$a = str_word_count($str, 1);
$b = str_word_count($str, 2);
$c = str_word_count($str);

print_r($a);
print_r($b);
echo $c;
?>

Вывод:

Array
(
[0] => Hello
[1] => friend
[2] => you're
[3] => looking
[4] => good
[5] => today
)

Array
(
[0] => Hello
[6] => friend
[14] => you're
[29] => looking
[46] => good
[51] => today
)