strtolower(строка) — возвращает строку, преобразовав все символы указанной строки в нижний регистр.
<?php
$a="ПРИВЕТ, ВСЕМ!";
$a1= strtolower($a); //возвращает привет, всем!
echo $a1 ;
?>
В окне веб-браузера это будет выглядеть ТАК.
strtoupper(строка) — возвращает строку, преобразовав все символы строки в верхний регистр.
<?php
$a="привет, всем!";
$a1= strtoupper($a); //возвращает ПРИВЕТ, ВСЕМ!
echo $a1 ;
?>
В окне веб-браузера это будет выглядеть ТАК.
ucfirst(строка) — преобразует первый символ указанной строки в верхний регистр и возвращает ее.
<?php
$a="привет, всем!";
$a1= ucfirst($a); //возвращает Привет, всем!
echo $a1 ;
?>
В окне веб-браузера это будет выглядеть ТАК.
ucwords(строка) — преобразует первый символ каждого слова указанной строки в верхний регистр и возвращает ее.
<?php
$a="привет, всем!";
$a1= ucwords($a); //возвращает Привет, Всем!
echo $a1 ;
?>
В окне веб-браузера это будет выглядеть ТАК.
Разбиение строк вручную не всегда является приемлемым, особенно втом случае, когда за один раз следует извлечь большое количество подстрок. РНР обладает большим набором функций для разбивки строки на подстроки по определенному символу.
explode(разделитель, строка[, limit]) — производит разделение строки в массив. Она возвращает массив строк, каждая из которых соответствует фрагменту исходной строки строка, находящемуся между разделителями, указанными аргументом разделитель. Необязательный параметр limit указывает максимальное количество элементов в массиве. Оставшаяся неразделенная часть будет содержаться в последнем элементе.
Пример:
В окне веб-браузера это будет выглядеть ТАК.
implode(параметр, значение) — является обратной функции explode() и производит объединение массива в строку. Функция возвращает строку, которая последовательно содержит все элементы массива, заданного в параметре параметр, между которыми вставляется значение, указанное в параметре значение. Для примера выведем все то, что мы только что "умассивили" функцией explode(), используя пробел в качестве разделителя:
Пример:
В окне веб-браузера это будет выглядеть ТАК.
str_word_count(строка [, формат]) — возвращает массив слов, входящих в строку или количество слов в строке, если второй параметр не указан. Параметр формат может принимать два целочисленных значения, которые определяют вид возвращаемого массива:
1– числовые индексы элементов массива соответствуют порядковому номеру слова в строке; нумерация начинается с 0;
2 – числовые индексы элементов массива соответствуют позиции слова в строке; нумерация начинается с 0.
Пример:
<?php
$str = "How do you do friend";
echo str_word_count($str).'<br>' ; // 5
print_r(str_word_count($str, 1)); //выводит Array ( [0] => How [1] => do [2] => you [3] => do [4] => friend )
echo '<br>';
print_r(str_word_count($str, 2)); //выводит Array ( [0] => How [4] => do [7] => you [11] => do [14] => friend )
?>
В окне веб-браузера это будет выглядеть ТАК.
list(параметр1, параметр2, . . . , параметрN) — разбивает массив на переменные.
Пример:
В окне веб-браузера это будет выглядеть ТАК.
<?php
$a = " Из далека долго, течет % река Волга, течет ...";
$a1= strtok($a, "%" ); // возвращает Из далека долго, течет
echo $a1 ;
?>
В окне веб-браузера это будет выглядеть ТАК.
str_split ( строка[, длина_строки]) — преобразует строку в массив. Если указан необязательный аргумент длина_строки, возвращаемый массив будет содержать части исходной строки длиной длина_строки каждая, иначе каждый элемент будет содержать один символ.
Если длина_строки меньше 1, возвращается FALSE. Если длина_строки больше длины строки строка, вся строка будет возвращена в первом и единственном элементе массива.
Пример:
В окне веб-браузера это будет выглядеть ТАК.
Для форматирования текстовых строк, выводимых в окно браузера оператором echo, часто используется HTML и каскадные таблицы стилей. Служебные символы \n (перевод строки) и \t (табуляция) также можно использовать в строках. Если они находятся в строке, заключенной в одинарные кавычки, то при выводе этой строки оператором echo эти символы не будут работать по своему назначению и будут видны на экране. В случае двойных кавычек они, также не сработают, но отобразяться в виде пробелов. Чтобы заставить их функционировать, то строку с двойными кавычками следует начать тегом <pre>.
Пример:
<?php
$a = "<pre> Из далека долго, \n течет река Волга, течет ...";
echo $a ;
?>
В окне веб-браузера это будет выглядеть ТАК.
С целью форматирования можно применять специальные функции РНР printf() и sprintf(). Если вы используете РНР CLI, работающий в режиме командной строки, то специальные функции являются единственным средством форматирования строк. На практике часто приходится форматировать строки, содержащие не только знаки препинания, но и числа и значения переменных. При этом числа можно представлять в различных системах счисления, а в десятичной системе — в различных видах. В функциях printf() и sprintf() можно указать шаблон, в соответствии с которым будет отформатирована строка. Эти функции имеют одинаковый синтаксис, но отличаются действием и возвращаемым значением.
printf(формат_строка, список_ переменных) — выводит отформатированную строку и возвращает длину этой строки;
sprintf(формат_строка, список_ переменных) — возвращает отформатированную строку(но не выводит ее).
<?php
$a="Привет, всем!";
printf($a);//выводит Привет, всем!
sprintf($a); // ничего не выводит
echo '<br>';
$a1=sprintf($a);
printf($a1); //выводит Привет, всем!
?>
В окне веб-браузера это будет выглядеть ТАК.
список_ переменных — имена переменных разделенныз запятой, значения которых следует подставлять в форматируемую строку. Этот параметр необязателен.
формат_строка — представляет собой текстовую строку, которую требуется отформатировать в соответствии с описанием преобразований. Описатели преобразований находятся в форматируемой строке, и каждый из них описывает представление значения соответствующей переменной, указанной в списке: превый описатель для первой переменной, второй — для второй переменной и т.д. Строка может и не содержать описателей. В этом случае она просто не будет отформатирована.
Каждый описатель преобразований состоит из знака процента (%), за которым следует один или более дополнительных элементов в следующем порядке:
%ЗаполнительВыравниваниеДлинаТочностьТип
Рассмотрим эти необязательные элементы.
Заполнитель — символ, который будет использоваться для дополнения результата преобразования до заданной длины. Это может быть пробел(по умолчанию), 0 или любой другой символ, перед которым необходимо указать одинарную кавычку(').
Выравнивание — символ минус(-); если он указан, то выравнивание происходит по левому краю поля, выделенного для отображения значения, а в противном случае(т.е. по умолчанию) — по правому краю.
Длина — число, определяющее ширину поля, отводимого для вывода результата преобразования. Если результат содержит меньше символов, то оставшееся пространство будет заполнено пробелом или символом заполнения, если он был указан.
Точность — число, перед которым указывается точка. Определяет, сколько десятичных разрядов в дробной части числа следует отображать. Если число имеет больше таких разрядов, то результат получается округлением, а не отбрасыванием лишних знаков. Применяется для числа с плавающей точкой.
Тип — символ, определяющий, как трактовать тип значения переменной из списка, который подставляется в форматируемую строку. Допустимые следующие указатели типа:
% — значение переменной не используется;
b — значение трактуется как целое и выводится в виде двоичного числа;
c — значение трактуется как целое и выводится в виде символа с соответствующим кодом;
d — значение трактуется как целое и выводится в виде десятичного числа со знаком;
e — значение трактуется как число с плавающей точкой и представляется в экспотенциальной форме;
u — значение трактуется как целое и выводится в виде десятичного числа без знака;
f — значение трактуется как число с плавающей точкой и представляется в неэкспотенциальной форме(т.е. с & разделительной точкой).
o — значение трактуется как целое и выводится в виде восьмеричного числа;
s — значение трактуется как строка;
x — значение трактуется как целое и выводится в виде шестнадцатеричного числа в нижнем регистре;
X — значение трактуется как целое и выводится в виде шестнадцатеричного числа в верхнем регистре;
Рассмотрим пример.
<?php
$day = 11;
$month = 1;
$year = 2009;
printf("%02d/%02d/%04d", $day, $month, $year);
?>
В окне веб-браузера это будет выглядеть ТАК.
Еще один пример.
<?php
$a=14.346;
$a1=254.6;
$a2=1246.37;
$b= "Иванов";
$b1= "Петров";
$b2= "Сидоров";
printf("<pre> <b> Платежная ведомость </b> \n");
printf("%'.-12s%'.10.2f руб.\n", $b,$a);
printf("%'.-12s%'.10.2f руб.\n", $b1,$a1);
printf("%'.-12s%'.10.2f руб.\n", $b2,$a2);
?>
В окне веб-браузера это будет выглядеть ТАК.
В данном примере использовался тег <pre>, который обеспечил отображение браузером строк в соответствии с их предварительным форматированием. Здесь подадобились служебные символы \n для перехода на другую строку. В качестве заполнителя была использована точка ('.). Фамилия выравнивалась по левому краю (-) поля шириной 12 символов с заполнением в виде точки ('.). Таким образом, описатель преобразования для строковых значений имеет вид: %'.-12s.
Числа представлялись с десятичной точкой и двумя разрядами после нее. Они выравнивались по правому краю поля из 10 символов, а в качестве заполнителя использовалась точка. Таким образом, описатель преобразования чисел имеет вид: %'.10.2f .
Аналогичный результат можно получить, используя функцию sprintf() для создания отформатированной строки и оператор echo для ее вывода.
<?php
$a=14.346;
$a1=254.6;
$a2=1246.372;
$b= "Иванов";
$b1= "Петров";
$b2= "Сидоров";
$str="<pre> <b> Платежная ведомость </b> \n";
$str.="%'.-12s%'.10.2f руб.\n";
$str= sprintf($str,$b,$a);
$str.="%'.-12s%'.10.2f руб.\n";
$str= sprintf($str,$b1,$a1);
$str.="%'.-12s%'.10.2f руб.\n";
echo sprintf($str,$b2,$a2);
?>
В окне веб-браузера это будет выглядеть ТАК.
Оператор .= обеспечивает склейку текущего строкового значения переменной, расположенной слева от него, с тем, которое указано справа от этого оператора. Порядок описателей в форматируемой строке соответствует порядку других параметров функций printf() и sprintf(). Для РНР версии 4.0.6 и старше можно изменять этот порядок и даже использовать один и тот же описатель несколько раз. Для этого в еаждом описателесразу же за символом % следует указать номер, обратный слэш или символ $ (далее могут следовать другие элементы). Этот номер соответствует порядковому номеру последующих аргументов функций printf() и sprintf().
Пример:
<?php
$a= "широка";
$b= " страна";
$b1=" моя родная!";
echo ucfirst(sprintf("%1\$s %2\$s %3\$s", $a, $b, $b1));
?>
В окне веб-браузера это будет выглядеть ТАК.
В результате выполнения этого кода будет выведена строка "Широка страна моя родная!". Функция ucfirst() использовалась для того, чтобы отформатированная строка начиналась с прописной (заглавной) буквы.
& Во многих веб-приложениях требуется подсветить РНР-код: такая задача часто возникает при разработке форумов, посвященных вопросам РНР-программирования, при динамическом отображении РНР-скриптов на странице ресурса, в отладочных веб-приложениях и т.д. Для этого предназначена функция highlight_string().
Примечание. Помимо стандартной функции highlight_string(), обесвечивающей подсветку синтаксиса кода переданной в качестве параметра строки, существует также функция highlight_file(), обеспечивающая подсветку синтаксиса файла, имя которого передается в качестве аргумента.
<?php
//Строка, содержащая скрипт РНР
$code='<?php
if(!$flag){
//пишем какой-либо код
echo "Hello";
$var=1;
}
else break;
?>';
//вызываем функцию highlight_string()
highlight_string($code);
?>
В окне веб-браузера это будет выглядеть ТАК.
Примечание. Стандартные функции highlight_string() и highlight_file() подсвечивают синтаксис только в том случае, если он заключен в теги <?php и ?>.
Так сложилось, что в русскоязычном секторе Интернета используется большое количество кодировок. Для преобразования строк из одной кодировки в другую предназначена функция convert_cyr_string().
convert_cyr_string(строка, кодировка1, кодировка2) — преобразует строку из одной кодировки кириллицы в другую. Она переводит строку строка из кодировки кодировка1 в кодировку кодировка2. Значения кодировка1 и кодировка2 это одиночные символы, определяющий кодировку:
Для примера перекодируем слово "определяющий" из кодировки windows-1251 в koi8-r и обратно:
<?php
$str1 = "определяющий";
$str2 = convert_cyr_string($str1,"w","k");
echo ("Результат преобразования '$str1' в кодировку koi8-r: '$str2'");
echo ("<br>");
$str3 = convert_cyr_string($str2,"k","w");
echo ("Результат возврата '$str2' в кодировку Windows-1251:'$str3'");
?>
В окне веб-браузера это будет выглядеть ТАК.
РНР в основном ориентирован на разработку веб-приложений, в его арсенале имеется большое число функций для работы с URL.
parse_url(строка_url) — обрабатывает URL и возвращает ассоциативный массив, включающий множество различных существующих компонентов URL: "scheme", "host", "port", "user", "pass", "path", "query" и "fragment".
Пример:
В окне веб-браузера это будет выглядеть ТАК.
Основной функцией при работе с путями к файлам и каталогам является функция pathinfo().
pathinfo(путь) — принимает путь к файлу путь и возвращает ассоциированный массив, хранящий в своих элементах путь, по которому расположен файл, имя файла и его расширение.
Пример:
<?php
$path_s=pathinfo("D:\sevidi\index.html");
echo $path_s["dirname"]. "<br>"; //выводит D:\sevidi
echo $path_s["basename"]. "<br>"; //выводит index.html
echo $path_s["extension"]. "<br>"; //выводит html
?>
В окне веб-браузера это будет выглядеть ТАК.
Для того, чтобы определить абсолютный путь к файлу необходимый для функции pathinfo(), можно воспользоваться функцией realpath().
realpath(путь) — принимает относительный путь путь и возвращает абсолютный.
При работе сфункцией следует помнить, что точкой (".") обозначается текущий каталог, а двумя точками("..") — каталог на уровень выше.
Пример:
<?php
echo realpath(".");
echo realpath("../index.html"); //выводит D:\sevidi
?>
В окне веб-браузера это будет выглядеть ТАК.
При разработке веб-приложений чаще требуется путь к текущей странице от Document Root, который можно узнать, к элементу суперглобального массива $_SERVER['PHP_SELF"].
Для извлечения имени файла существует отдельная функция basename().
basename(путь [, расширение_файла]) — принимает путь путь и необязательное расширение файла расширение_файла. Эта функция вернет имя файла, чей путь был передан в качестве параметра. Если имя файла имеетрасширение оно будет отброшено.
Пример:
<?php
$path="home/html/index.html";
echo basename($path). "<br>"; //выведет index.html
echo basename($path, ".html"); //выведет index
?>
В окне веб-браузера это будет выглядеть ТАК.
Функция dirname() извлекает из пути каталог.
dirname(путь) — принимает путь путь и возвращает только каталог.
Пример:
<?php
$path="C:\www\html\index.html";
echo dirname($path); //возвращает C:\www\html
?>
В окне веб-браузера это будет выглядеть ТАК.