- Подробности
-
Категория: PHP. Строки
Вариант 1
В PHP есть встроенная функция для разбивки (разделения) строки по словам и даже по буквам str_word_count(), но нас в данном случае интересует способность этой функции разбить текст по словам и вернуть массив этих слов. Получается что в массиве содержаться только слова из текста, причём каждое слово имеет свой индекс в стеке массива. Нам остаётся только с помощью цикла foreach обхода массива, вывести на экран строку без пробелов. Конечно можно использовать и другие способы вывода. Ниже показано как это сделать.
Листинг № 1 — Вывод на монитор строки без пробелов транслит.
<?php
$str = "Good boy dog";
$a = str_word_count($str, 1);
foreach($a as $vol)
{
echo $vol;
}
?>
Выведет: Goodboydog
Хочу отметить что эта функция str_word_count(), выводит только транслит. Русский текст она не поддерживает.
Трансли́т (сокр. от транслитерация) — неупорядоченная передача русского текста латинскими буквами (равно как и любого другого языка буквами любого отличного от оного), иногда также цифрами и иными доступными знаками. Так могут называть и сам русский текст, набранный латинскими буквами.
Вариант 2
Есть в PHP (3, 4, 5) встроенная функция explode(), (explode -- Разбивает строку на подстроки). С помощью этой функции разберём любую строку не зависимо от представленного текста на подстроки, т.е. слова. И так же как и в первом варианте выведем на монитор результат работы.
Листинг № 2 — Вывод на монитор строки без пробелов любой текст.
<?php
$str = "Строка для представления";
$a = explode(" ",$str);
foreach($a as $vol)
{
echo $vol;
}
?>
Вывод на монитор: Строкадляпредставления
Вариант 3
Создадим пользовательскую функцию для вывода текста без пробелов. её можно подключать к любому сценарию на странице с помощью функции include() или подобных.
Листинг № 3 — Пользовательская функция вывода на монитор любого текста без пробелов.
<?php
function not_probel($str)
{
// если переменная содержит строку …
if(!empty($str))
{
$a = explode(" ",$str);
for($i=0; $i<count($a); $i++)
{
$vol .= $a[$i];
}
return $vol;
}
else
{
// … в противном случае
return FALSE;
}
}
$str = "Любая строка, good hous";
echo not_probel($str);
?>
Вывод на монитор: Любаястрока,goodhous
Вариант 4
Вариант предложен постоянным пользователем сайта по имени PROcessor. На мой взгляд лучший из всех представленных выше.
<?php
echo str_replace(' ','','Текст с пробелами');
?>
Урок закончен.