string strtolower(string text)
Функция strtolower (листинг 12.55) возвращает строку, переданную аргументом text, все буквы которой переведены в нижний регистр. Другие символы при этом не затрагиваются. То, какие символы считаются буквами, зависит от заданной локали, и может оказаться, что буквы с акцентами и умляутами будут проигнорированы. Это ограничение можно обойти, установив локаль с помощью оператора setlocale. Функциями, подобными функции strtolower, являются strtoupper, ucfirst и ucwords.

j Листинг 12.55. Функции strtolower, strtoupper, ucfirst и ucwords
<?php
//core php programming
print(strtolower("coRe pHP prOGraMMing") . "<br>"); //CORE PHP PROGRAMMING
print(strtoupper("coRe pHP prOGraMMing") . "<br>"); //CoRe pHP prOGraMMing
print(ucfirst("coRe pHP prOGraMMing") . "<br>"); //CoRe PHP PrOGraMMing
print(ucwords("coRe pHP prOGraMMing") . "<br>");
?>

string strtoupper(string text)
Функция strtoupper (листинг 12.55) возвращает строку, переданную аргументом text, все буквы которой переведены в верхний регистр. Другие символы при этом не затрагиваются. То, какие символы считаются буквами, зависит от локали, и может оказаться, что буквы с акцентами и умляутами игнорируются. Эта проблема решается путем установки локали с помощью оператора setlocale. Функциями, подобными функции strtoupper, являются strtolower, ucfirst и ucwords.
string strtr(string text, string original, string translated) string strtr(string text, array replacement)
При передаче трех аргументов функция strtr (листинг 12.56) возвращает данные, переданные аргументом text, все символы которой, соответствующие второму аргументу, будут заменены символами, указанными в третьем аргументе. Если длины строк в аргументах original и translated не равны, дополнительные символы игнорируются.
При передаче двух аргументов второй аргумент должен быть представлен ассоциативным массивом, где индексами элементов задаются заменяемые строки, а значения элементов определяют замещающий текст. Если заменяемая строка соответствует более чем одному индексу, должны использоваться подстроки большей длины. Данный процесс не является итерационным, т.е. после того, как подстрока будет заменена, ее дальнейший поиск завершается. Эту функцию можно использовать для обработки двоичных данных. 

j Листинг 12.56. Функция strtr_

<?php
$text = "Wow! This is neat.",-$original = "!.";
$translated = ".?";
// перевести искренность в сарказм print(strtr($text, $original, $translated));
?>

string substr_replace(string text, string replacement, integer start, integer length)
Функция substr_replace (листинг 12.57) используется для замены одной подстроки другой подстрокой. В отличие от функции str_replace, при выполнении которой производится поиск соответствий во всей строке, функция substr_replace удаляет текст определенной длины (задается аргументом length) и вставляет аргумент replacement. Аргументы аналогичны аргументам функции substr. Аргумент start обозначает первый символ удаляемой подстроки в строке, заданной аргументом text (при этом первый символ строки имеет нулевой номер). Если аргумент start имеет отрицательное значение, отсчет начинается не с первого, а с последнего символа строки, заданной аргументом text.
Количество замещаемых символов задается необязательным аргументом length или определяется концом строки. Если length имеет отрицательное значение, возвращаемая строка будет иметь столько символов, сколько имеется, если считать, начиная с конца исходной строки. В любом случае, если комбинация аргументов start и length приводит к возвращению строки отрицательной длины, возвращается один символ.

| Листинг 12.57. Функция substr_replace_
<?php
$text = "Кличка моей собаки Ангус",-//заменить имя Ангус на Гус
print(substr_replace($text, "Гус", 19, 5));
?>

string trim(string text, string strip)
Функция trim возвращает данные, удаляя пробелы как в начале, так и в конце строки. Сравните эту функцию с функциями ltrim и rtrim. При этом пробелом считаются собственно пробелы, знаки табуляции и другие непечатаемые символы, включая символы null (ASCII 0).
Необязательный аргумент strip заменяет символы пробелов символами, указанными в нем. Кроме того, существует возможность задавать диапазон символов с помощью двоеточия. Так, например, строка "a..f" задает все строчные буквы от a до f.
Кодирование и декодирование
string ucfirst(string text)
Функция ucfirst используется для перевода первого символа строки в верхний регистр. Функциями, подобными ucfirst, являются strtolower, strtoupper и ucwords. Как и в этих функциях, то, какие символы являются буквами, определяется локалью.

string ucwords(string text)
Функция ucwords предназначена для перевода всех слов строки в верхний регистр. Подобными функциями являются strtolower, strtoupper и ucfirst. Как и в случае с этими функциями, то, какие символы являются буквами, определяется локалью.
array unpack(string format, string data)
Функция unpack преобразует данные, созданные функцией pack, в ассоциативный массив. Аргумент format следует правилам, используемым для функции pack, за исключением того, что каждый элемент разделяется косой чертой, чтобы дать возможность задать им имена. В возвращенном ассоциативном массиве эти имена используются как индексы. (См. пример функции pack.)