Как манипулировать текстом в PHP с помощью этих 9 функций

Категория: веб разработка

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

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

Как показать содержимое строки

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

Вы почти всегда будете использовать его так:

echo "Hello, world";

Но вы можете вызвать его как функцию:

echo("Hello, world");

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

$a = echo("Hello, world");
// Parse error: syntax error, unexpected 'echo' (T_ECHO)

Еще одним способом вывода значения строки является использование print. Опять же, это действительно не настоящая функция, хотя она ближе к ней, чем echo. Как и echo, вы можете вызывать его без скобок:

print "Hello, world";

Но, в отличие от echo, он действительно возвращает значение, которое вы можете присвоить, хотя это значение всегда равно 1:

$a = print("Hello, world");
echo $a; // 1
  1. Вывод строки с использованием настоящей функции Функция printf на самом деле является настоящей функцией. Как и echo и print, она выводит строки, но у нее есть некоторое уникальное поведение, которое повторяет такую же функцию из языка C:
$username = "John";
$length = printf("Hello, %s", $username); // "Hello, John"
echo $length; // 11

Первый аргумент все также является строкой, заключенной в двойные кавычки. Но printf будет выполнять различные замены на специальные последовательности символов внутри строки. Эти последовательности начинаются с символа процента, как в приведенном выше примере, %s. В этом конкретном случае %s означает строку, и printf заменяет его следующим аргументом, который является значением $username.

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

  1. Получение длины строки Говоря о длине строки, стандартным способом определения длины строки является функция strlen. Эта функция очень проста: она принимает единственный аргумент строки и возвращает количество байт в виде целого числа. Как уже упоминалось ранее, для текста ASCII количество байт совпадает с количеством символов:
$length = strlen("Hello, World");
echo $length; // 12
  1. Извлечение части строки Очень частой задачей при работе со строками является извлечение части этой строки. Есть несколько способов сделать это, и первый из них здесь указывает позицию и длину требуемой подстроки. Функция substr извлекает фиксированную часть строки в соответствии с этими параметрами.
$greeting = substr("Hello, World", 0, 5);
echo $greeting; // "Hello"

Обратите внимание, что, как и в большинстве языков программирования, PHP считает смещения строк с 0. PHP отличается от некоторых языков тем, что второй параметр этой функции - это длина результирующей строки. Еще одно отличие заключается в том, что PHP поддерживает отрицательные значения как для смещения, так и для длины. Если смещение отрицательное, результат начнется с конца строки, а не с начала:

$greeting = substr("Hello, World", -5, 5);
echo $greeting; // "World"

Если длина отрицательна, она будет относиться к количеству удаленных символов, а не к включенному числу:

$greeting = substr("Hello, World", 0, -6);
echo $greeting; // "Hello,"
  1. Поиск внутри строки Важной частью обработки текста является поиск расположения одной строки внутри другой. В PHP это можно сделать с помощью функции strpos:
$pos = strpos("Hello, World", ",");
echo $pos; // 5

Вы можете использовать strpos совместно с substr, чтобы предоставить более универсальный метод для извлечения части строки:

$string = "Hello, World";
$pos = strpos($string, ",");
$first_part = substr($string, 0, $pos);
echo $first_part; // "Hello"
  1. Преобразование регистра строки У традиционных ASCII строки есть четко определенные варианты верхнего и нижнего регистра. Верхний регистр для a - это A. Нижний регистр для Z - это z. Функции strtoupper и strtolower выполняют эти преобразования. Они делают это для каждого символа в строке ASCII:
$original = "hello, WORLD";
$upper = strtoupper($original);
$lower = strtolower($original);
echo "$lower $upper"; // "hello, world HELLO, WORLD"
  1. Удаление пробелов Иногда у вас может оказаться строка, у которой есть начальные или конечные пробелы: пробелы, табуляции или символы новой строки. Это часто нежелательно, но trim может их удалить:
$trimmed = trim(" Hello, World ");
echo $trimmed; // "Hello, World"
  1. Разбиение строки по разделителю Функция explode звучит опасно, но не волнуйтесь, она не вызывает никакого долгосрочного вреда! Вместо этого она преобразует строку в массив строк, разделенных другой строкой - часто символом. Это может быть полезно, если вы хотите разбить предложение на отдельные слова, например.
$sentence = "The quick brown fox jumps over the lazy dog";
$words = explode(" ", $sentence);

Теперь переменная $words - это массив, содержащий отдельные слова:

[ "The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog" ]
  1. Разбиение строки на подстроки фиксированной длины Как и explode, функция str_split разбивает строку на массив более мелких строк. В отличие от explode, окончательные строки не определяются их содержимым, а их длиной.
$parts = str_split("Hello, World", 6);

Теперь массив $parts содержит две подстроки, каждая из шести символов:

[ "Hello,", " World" ]
  1. Поиск и замена внутри строки Вы можете выполнить простую операцию поиска и замены в строке с использованием str_replace. Он принимает три аргумента: строку для поиска, строку замены и исходную строку для поиска. Функция возвращает новую строку:
$result = str_replace("o", "OO", "Hello, World");
echo $result; // "HellOO, WOOrld"

PHP предоставляет много полезных способов работы с текстом Поскольку PHP часто используется в веб-разработке, работа с текстом - это обычная задача.

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

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





Если вам нужен по настоящему хороший и профессиональный веб хостинг или свой высокопроизводительный сервер, то смело переходите по ссылке и заказывайте!

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *



Карта сайта
Copyright © 2023