Php символы в массиве

Функции работы со строками

explode — разбивает строку с помощью разделителя
implode — объединяет элементы массива в строку (join — псевдоним implode())
trim — удаляет пробелы или другие символы из начала и конца строки
rtrim — удаляет пробелы или другие символы из конца строки (справа)
ltrim- удаляет пробелы или другие символы из начала строки (слева)
nl2br- вставляет HTML-код разрыва строки перед каждым переводом строки(эн-эль-ту-брэйк)
str_replace- заменяет все вхождения строки поиска на строку замены
str_ireplace- регистронезависимый вариант функции str_replace()
strip_tags- удаляет теги HTML и PHP из строки
strlen- возвращает длину строки (количество байт)
strpos- возвращает позицию первого вхождения подстроки (функция аналогична функции mb_strpos)
strtolower- преобразует строку в нижний регистр(функция аналогична функции mb_strtolower )
strtoupper- преобразует строку в верхний регистр(функция аналогична функции mb_strtoupper)
substr- возвращает подстроку(функция аналогична функции mb_substr)
htmlspecialchars — преобразует специальные символы в HTML-сущности
htmlspecialchars_decode- преобразует специальные HTML-сущности обратно в соответствующие символы
htmlentities- преобразует все возможные символы в соответствующие HTML-сущности

Функции для работы с многобайтовыми строками

mb_strlen — получает длину строки (при работе с многобайтовыми строками)
mb_strpos- поиск позиции первого вхождения одной строки в другую
mb_strtolower- приведение строки к нижнему регистру
mb_strtoupper- приведение строки к верхнему регистру
mb_substr- возвращает часть строки

explode

Функция explode — возвращает массив строк, полученных разбиением строки str с использованием разделителя , в данном случае, разделитель — пробел( ‘ ‘ ). Третий параметр — ограничевает количество элементов массива

$str = ‘Иванов Иван Иванович’ ;
$data = explode ( ‘ ‘ , $str ) ;
print_r ( $data );
echo $data [ 0 ]; // обращение к элементу массива $data
echo $data [ 1 ];
echo $data [ 2 ];

Читайте также:  Html form send post

// выведет:
// Array ( [0] => Иванов [1] => Иван [2] => Иванович )
// Иванов
// Иван
// Иванович

$data1 = explode ( ‘ ‘ , $str , 1 ); // один элемент в массиве
print_r ( $data1 );
$data2 = explode ( ‘ ‘ , $str , 2 ); // два элемента в массиве
print_r ( $data2 );

// выведет:
// Array ( [0] => Иванов Иван Иванович ) — один элемент в массиве
// Array ( [0] => Иванов [1] => Иван Иванович ) — два элемента в массиве
?>

implode

Функция implode — объединяет элементы массива.

Первый параметр — разделитель , в данном случае — пробел( ‘ ‘ ),

Второй параметр — массив ( $data ).

$data = [ ‘Иванов’ , ‘Иван’ , ‘Иванович’ ];
$str = implode ( ‘ ‘ , $data );
echo $str ;

// выведет:
// Иванов Иван Иванович

$str1 = implode ( ‘,’ , $data ); // здесь разделитель — запятая
echo $str1 ;

trim

Функция trim — по концам строки удаляет ряд символов.

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

Первый параметр — строка ( $str ).

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

$str = «\n < p>Hello < /p>\n » ;
$str .= «\n < p>world! < /p>\t\n» ;
// — (.=) — оператор конкатенации (вторая строка будет дописана к первой)

// выведет:
// Hello
// world!
// в исходном коде страницы будет виден результат работы функции trim
?>

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

rtrim

ltrim

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

// (‘,’) — указываем, какой символ надо обрезать
echo trim ( $str , ‘,’ );

// выведет:
// . test — без запятой. (можно использовать — rtrim )
?>

nl2br

nl2br — данная функция заменяет перевод строк ( \r\n , \n\r , \n и \r ) на
или
Применяется для текстовых областей, куда пользователь вводит, например, коментарии и т. д.

$str = «Hello\nworld\n» ;
echo $str ;

// выведет:
// Hello world (в одну строку)

// выведет:
// Hello (с переводом строки)
// world
?>

str_replace

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

$str = ‘Привет! Меня зоват [b]Вася[/b]! ‘;
echo $str ;
// выведет:
// Привет! Меня зовут [b]Вася[/b]!

// обработаем строку $str функцией str_replace ([b])
$str = str_replace ( ‘[b]’ , » , $str );

// то-же самое для закрывающего тэга ([/b])
$str = str_replace ( ‘[/b]’ , ‘‘ , $str );

// выведет:
// Меня зовут Вася! (Вася — жирным щрифтом)
?>

— ищем [b] в строке $str и заменяем на

— ищем [/b] в строке $str и заменяем на

str_replace может работать не только с отдельными символами, но и с целым массивом символов . Соответствующие позиции элементов должны совпадать.

$str = ‘[i]Привет[/i]! Меня зовут [b]Вася[/b]!’ ;
$search = [ ‘[b]’ , ‘[/b]’ , ‘[i]’ , ‘[/i]’ ]; // что мы будем замещать
$replace = [ ‘‘ , ‘‘ , ‘‘ , ‘‘ ]; // на что мы будем замещать
$str = str_replace ( $search , $replace , $str );
echo $str ;

// выведет:
// Привет! Меня зоват Вася! (Привет — курсивом, Вася — жирным шрифтом)
?>

str_ireplace

str_ireplace — является аналогом функции str_replace , за исключением того, что она работает без учета регистра, в отличии от str_replace .

strip_tags

strip_tags — у этой функции первый параметр обязателен, здесь указывается строка .

Второй параметр — опциональный, здесь указываются определенные тэги, которые мы не хотим удалять .

Необработанный коментарий пользователя:

$str = ‘Привет ! Меня зоват Вася ! alert(«XSS») ‘ ;
echo strip_tags ( $str , ‘ ‘ ); // разрешаем и

// в результате работы функции strip_tags, будут вырезаны все HTML-тэги кроме тэгов и , и
?>

strlen

strlen — эта функция возвратит количество байт , а не число символов в строке.

$str = ‘hello’ ;
echo strlen ( $str );
// выведет: 5

$str = ‘привет’ ;
echo strlen ( $str ) ;
// выведет: 12
// в мультибайтовой кодировке(utf-8) — кирилические символы кодируются двумя байтами
?>

mb_strlen

mb_strlen — получает длину строки при работе с многобайтовыми строками
Эта функция корректно отработает и с мультибайтными строками, то есть со строкой в кодировке utf-8 .

Первый параметр — строка — обязательный.

Второй — опциональный — этот параметр представляет собой символьную кодировку( utf-8 ). Если он не указан, вместо него будет использовано значение внутренней кодировки.

$str = ‘hello’ ;
echo mb_strlen ( $str );
// выведет: 5

$str = ‘привет’ ;
echo mb_strlen ( $str );
// выведет: 6
?>

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

Файл: ini.php, расширение: extension=php_mbstring.dll — это расширение должно быть раскомментировано .

Если это расширения в фале ini.php не установлено, то его надо взять из файла: OSPanel/modules/php/php(номер версии)/ext .

strpos

mb_strpos

mb_strpos ( strpos ) — ищет позицию первого вхождения подстроки ‘x’ в строку $str .

Первый обязательный параметр — строка $str , в которой производится поиск.

Второй обязательный параметр — то, что ищем в данной строке(подстрока ‘и’ ).

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

Четвертый параметр — опциональный, он представляет собой символьную кодировку . Если он не проставлен, вместо него будет использовано значение внутренней кодировки (в данном случае: ‘utf-8’ ).

Первый символ стоит на позиции 0 , позиция второго 1 и так далее. Данная функция возвращает либо число — номер позиции в строке , или, если искомая подстрока ‘x’ не найдена, функция вернет FALSE .

$str = ‘Привет, мир!’ ;
echo mb_strpos ( $str , ‘и’ ); // ищем букву ‘и’ в строке $str
// выведет: 2 (Отчет начинается с нуля, соответственно позиция ‘и’ будет равна 2)

// полная запись: ищем букву ‘и’ в строке $str, смещение — 0, кодировка — ‘utf-8’
echo mb_strpos ( $str , ‘и’ , 0 , ‘utf-8’ );
// выведет: 2

echo mb_strpos ( $str , ‘и’ , 3 , ‘utf-8’ );
// — сдесь смещение равно — 3, начинаем поиск с символа 3
// выведет: 9
?>

Функцию mb_strpos можно использовать в условиях, мы проверяем, присутствует ли какой-нибудь символ в строке. Если присутствует, тогда мы выполняем какие-нибудь действия.

Если позиция искомого символа находится на нулевой строке :

$str = ‘Привет, мир!’ ;
if ( mb_strpos ( $str , ‘П’ , 0 , ‘utf-8’ ) !== false ) <
// — (!==) — строгое сравнение.
echo ‘Ok’ ;
> else echo ‘No’ ;
>
// выведет: Ok
?>

strtolower

strtoupper

mb_strtolower

mb_strtoupper

mb_strtolower ( strtolower ) и mb_strtoupper ( strtoupper ) — приводят строки соответственно в нижний регистр и в верхний регистр .

Первый параметр — строка , второй (необязательный) — символьная кодировка :

$str = ‘Привет, мир!’ ;
$str2 = ‘ПРИВЕТ, МИР!’ ;
echo mb_strtoupper ( $str ); // перевод в верхний регистр
echo mb_strtolower ( $str2 , ‘utf-8’ ); // перевод в нижний регистр
?>

substr

mb_substr

mb_substr ( substr ) — данная функция позволяет получить из строки подстроку , то есть взять только нужную часть строки.

Обязательный параметр $str — исходная строка для получения подстроки.

Второй обязательный параметр — с какого символа мы начинаем брать нашу строку (позиция первого символа — ноль), может быть отрицательным (нумерация начинается с конца строки).

Третий параметр опциональный — это максимальное количество символов возвращаемой из $str подстроки. Если не указан или равен NULL — извлекаются все символы до конца строки.

Четвертый параметр опциональный — представляет собой символьную кодировку

// взяли строку с нулевого символа
echo mb_substr ( $str , 0 );
// выведет: Привет, мир!

// взяли строку с первого символа
echo mb_substr ( $str , 1 );
// выведет: ривет, мир!

// взяли строку со второго символа
echo mb_substr ( $str , 2 , NULL , ‘utf-8’ );
// выведет: ивет, мир!

// взяли строку с восьмого символа
echo mb_substr ( $str , 8 , NULL , ‘utf-8’ );
// выведет: мир!

// взяли строку с восьмого символа и взять нам нужно три символа
echo mb_substr ( $str , 8 , 3 , ‘utf-8’ );
// выведет: мир (без восклицательного знака)

// второй параметр — отрицательный!
echo mb_substr ( $str , -4 , 3 , ‘utf-8’ );
// выведет: мир (без восклицательного знака)

// второй параметр — отрицательный!
echo mb_substr ( $str , -4 , 2 , ‘utf-8’ );
// выведет: ми
?>

htmlspecialchars

htmlspecialchars — эта функция не только покажет код, при этом он не отработает, но она еще защитит нашу страницу, наш сайт от той самой XSS-уязвимости, от встраивании стороннего кода .

Первый параметр обязательный — конвертируемая строка ($str).

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

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

Четвертый параметр — если он выключен, то PHP не будет преобразовывать существующие html-сущности.

По умолчанию преобразуется все без ограничений.

echo htmlspecialchars ( $str );
// — в иходном коде одинарные кавычки не будут преобразованны
// отобразится весь код, но при этом он не отработает (все символы заменены на html-сущности)
// исходный код:
// & .

echo htmlspecialchars ( $str , ENT_QUOTES );
// в исходном коде одинарные кавычки будут преобразованны
// исходный код:
// & .

echo htmlspecialchars ( $str , ENT_QUOTES , ‘utf-8’ , false );
// последний параметр выключен
// исходный код:
// & .

htmlspecialchars_decode

htmlspecialchars_decode — эта функция по сути антипод функции htmlspecialchars .

$str = ‘ строка из исходного кода ‘
echo htmlspecialchars_decode ( $str );

отработанный код функции htmlspecialchars_decode( $str ) :

str1

htmlentities

htmlentities — по сути эта функции аналог htmlspecialchars , за исключением того, что она преобразует все символы в соответствующие HTML-сущности .

Источник

Оцените статью