Php длина переменной. Функции работы со строками в PHP. Преобразование строк и файлов к формату HTML и наоборот

  • 03.11.2019

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

PHP функция substr - получить часть строки

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

PHP функция strlen - узнать длину строки

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

PHP функция trim - убрать лишние пробелы по краям строки

Функция trim удаляет по краям строки любые пробельные символы, в том числе и символ перевода строки. Так же существуют функции rtrim и ltrim, которые удаляют пробелы вконце иили вначале строки.

PHP функция strpos - осуществляет поиск в строке

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

PHP функция strip_tags - удаляет тэги HTML и PHP из строки

Функция strip_tags возвращает строку, очищенную от тегов html и php. Она вам пригодится, когда вы будете писать модуль комментариев на свой сайт, что бы не оставить злоумышленикам возможности взломать ваш сайт через форму. html и php должны быть удалены"; echo strip_tags($text); echo strip_tags($text,"");//не удалять теги em ?> Первым аргуменом функции идет исходны текст, а вторым теги, которые не нжно удалять.

PHP функция strtolower - переводит строку в нижний регистр

PHP функция strtoupper - переводит строку в верхний регистр

 Если этот сайт оказался вам полезен, вы можете помочь в его развитии, поставив

Любой уважающий себя веб-программист должен знать язык РНР, который может использоваться для создания веб-страниц. Этот язык основан на С и С++, и поэтому в нём присутствует множество конструкций, характерных для этого языка. Например, в PHP длина строки возвращается функцией с таким же названием, как и в С. Эта статья рассказывает о строках, а также об операциях, которые можно выполнять с ними.

Но прежде чем говорить о функциях, дадим основное определение. Строка - это последовательность символов, каждый из которых занимает ровно один байт. Значит, в РНР поддерживается 256 символов. Из этого логично вытекает, что поддержка Юникода в данном языке отсутствует - ведь в Юникоде символов гораздо больше.

Какие же операции со строками есть в PHP? Длина строки, их конкатенация (соединение), возвращение кода символа и наоборот - самые простые примеры. Есть и посложнее - поиск подстроки, хеширование, инвертирование. А есть и такие как удаление тегов, поиск по шаблону, разбивка на подстроки с помощью разделителя… Всего не перечислишь! Поэтому мы расскажем о наиболее распространённых и полезных из них.

Самая первая и часто используемая функция в PHP - длина строки. Называется она strlen, а в качестве параметра принимает одну-единственную последовательность символов. Всё просто.

$bar=strlen ($foo); // $bar равен трём

В PHP длина строки может быть равна нулю. Такая строка называется пустой.

Следующая функция - конкатенация или слияние. Проще говоря, она из двух строк делает одну.

$foo=”Привет,”;

$bar=” мир!”;

$baz=concat ($foo, $bar);

echo $baz; // выведет “Привет, мир!”

Есть и две обратные функции для работы с отдельными символами. Ord - возвращает код символа, а chr - определяет символ по коду.

$bar=ord ($foo); // $bar равен 113

$baz=chr ($bar); // $baz равен “q”

Нельзя не упомянуть ещё об одной интересной функции - date. В PHP строки могут использоваться в качестве шаблона для вывода времени. Например, если передать в date строку “H:m:s” и вывести результат, то на экране появится текущее время сервера, разделённое двоеточием, например, “11:08:34”.

Теперь рассмотрим функцию explode. Она разбивает строку на элементы, считая границей каждого указанный символ. Звучит довольно сложно, но на самом деле всё достаточно понятно. Например, есть строка “root|12:56:49|wheel”. Тогда можно написать так:

$foo=explode(“root|12:56:49|wheel”, “|”);

В итоге массив $foo будет содержать три элемента - “root”, “12:56:49”, “wheel”. Если при вызове функции не указывать разделитель, то по умолчанию он будет считаться пробелом. Есть ещё один необязательный параметр - максимальное количество выделяемых подстрок.

Следующая функция удаляет из строки HTML-теги. Называется она strip_tags. Как и у функции explode, у неё есть необязательный второй параметр - список тегов, которые необходимо оставить.

Простые функции - конкатенация, поиск подстроки, длина строки - PHP интерпретирует достаточно быстро. А вот обработка поиска по шаблону или удаление тегов может выполняться достаточно долго. Поэтому программы нужно составлять грамотно, с учётом того, что её выполнение занимает определённое время. Нормальный скрипт должен выполняться максимум 10 секунд, а после этого нужно отобразить хотя бы часть веб-страницы, иначе пользователь с неё уйдёт. Но обычно веб-приложения работают гораздо быстрее, ведь РНР-код выполняется на сервере, и браузер принимает сформированную на основе скрипта страницу, в которой содержится вывод PHP-скрипта.

Строки - это один из основных типов переменных в PHP . И с ними приходится работать наравне с числами, с булевскими переменными и массивами. Разумеется, разработчики PHP , чтобы облегчить нам работу со строками , уже встроили много готовых функций для нас. И о самых часто используемых мы и поговорим.

Начнём с функции, которую я использую при работе со строками в PHP регулярно - strlen() . Данная функция возвращает длину строки (количество символов в строке):

$str = "This is my string";
echo strlen($str);
?>

Думаю, что данная функция в комментариях не нуждается.

Также имеются две часто используемые строковые функции - это strtolower() и strtoupper() . Эти функции позволяют перевести строку в нижний и верхний регистр соответственно:

$str = "This is my string";
echo strtolower($str)."
";
echo strtoupper($str);
?>

Очень полезная строковая функция - substr() , которая возвращает подстроку из исходной строки:

$str = "This is my string";
echo substr($str, 1)."
";
echo substr($str, 4, 2)."
";
?>

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

Ещё одна полезная строковая функция в PHP - это str_replace() . Как следует из названия, данная функция возвращает строку с заменой какой-то части:

$str = "This is my string";
echo str_replace("my", "your", $str);
?>

На выходе у нас получилась следующая строка: "This is your string ". То есть данная функция заменила строку, заданную первым параметром, на строку, заданную вторым параметром, в строке, заданной третьим параметром, и вернула результат.

И последняя функция, которую мы с Вами рассмотрим, - это strpos() . Данная функция ищет вхождение подстроки в строку и возвращает номер первого символа вхождения (напоминаю, что нумерация символов начинается с 0, а не с 1 ):

$str = "This is my string";
echo strpos($str, "is");
?>

Как видите, данная функция очень простая и очень важная, так как позволяет осуществлять поиск в строке. Также у функции strpos() есть ещё один необязательный параметр, задающий смещение. Напоминаю, что данная функция ищет первое вхождение. Например, в нашем примере "is " встречается в строке дважды, но вернула эта функция номер символа при первом вхождении. Поэтому для того, чтобы получить номера и других вхождений необходимо задавать третий параметр - смещение:

$str = "This is my string";
echo strpos($str, "is", 4);
?>

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

$str = "This is my string";
if (strpos($str, "Th") == false) echo "Строка не найдена";
else echo "Строка найдена";
?>

Очевидно, что "Th " содержится в исходной строке, и номер символа первого вхождения - это 0 . Но если Вы запустите этот скрипт, то увидите, что "строка не найдена ". Почему? Если Вы читали статью об операторе эквивалентности , то без проблем ответите на этот вопрос. Однако, если нет, то поясняю. Дело в том, что так как у нас функция strpos() вернула 0 , а 0 с точки зрения PHP - это false , то он без проблем сделал вывод о том, что условие истинно (ведь слева false и справа false ). Как быть? Ответ прост: воспользоваться оператором эквивалентности (обозначается === ), который сравнивает не только значения (которые в нашем примере равны для PHP ), но и их типы:

$str = "This is my string";
if (strpos($str, "Th") === false) echo "Строка не найдена";
else echo "Строка найдена";
?>

И вот теперь Вы увидите, что "строка найдена ". Как видите, оператор эквивалентности может заявить о себе в любую минуту, и всегда нужно о нём помнить, иначе Вам не избежать труднодоступных ошибок.

Конечно, это далеко не весь набор строковых функций , которые нам предоставили разработчики PHP , но я, исходя из своей практики, привёл Вам список самых часто используемых строковых функций в PHP .