Axel177 |
Дата: Вторник, 16.10.2012, 17:12 | Сообщение # 1
|
Боец
Сообщений: 130
Статус: Offline
|
Текст без пробелов.
Вариант 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(' ','','Текст с пробелами');
?> Урок закончен.
C новым годом, друзья!
|
|
|
|