X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Вывод заданного количества строк содержимого переменной
kismedia
kismedia
Topic Starter сообщение 20.1.2011, 18:50; Ответить: kismedia
Сообщение #1


Всем привет! ;)
Надеюсь эта тема не разрастется как моя предидущая и вопрос понятен ;)

Собственно такая задача:

Есть переменная $out, допустим ее содержимое такое:

[php]$out = "Бла-бла
Бла-бла
Бла-бла
Бла-бла
Бла-бла
Бла-бла"[/php]

Что нужно? просто вывести заданное количество строк, заданное в переменной ,скажем $max

То есть, если $max=3 ,то
[php]$out = "Бла-бла
Бла-бла
Бла-бла"[/php]

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

[php]if ( iconv_strlen($out, 'utf-8') > $max ){
$out = iconv_substr( $out, 0, $max, 'utf-8' );
$out = preg_replace('@(.*)\s[^\s]*$@s', '\\1', $out); //убираем последнее слово, ибо оно в 99% случаев неполное
}[/php]

Как посчитать количество строк и вывести не нашел.

Спасибо!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 20.1.2011, 19:38; Ответить: matroskin8
Сообщение #2


Разбиваем строку переменной по разделителю на составляющие и из полученного массива выводим нужное количество элементов:

[php]<?php

$max = 3;

$out = "Бла-бла

Бла-бла

Бла-бла

Бла-бла

Бла-бла

Бла-бла";


$res = explode("\n", $out);


for($i = 0; $i < $max; $i++){

echo $res[$i]. "<br />";

}


?>[/php]

Лучше, мне кажется, использовать другой разделитель, типа ||, тогда 2 строки кода будут такими:

[php]$out = "Бла-бла||Бла-бла||Бла-бла||Бла-бла||Бла-бла||Бла-бла";

$res = explode("||", $out);[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 20.1.2011, 22:23; Ответить: matroskin8
Сообщение #3


Да, если надо просто получить $out с содержимым:
[php]$out = "Бла-бла
Бла-бла
Бла-бла";[/php]
то код можно немного изменить:
[php]<?php
$max = 3;
$out = "Бла-бла
Бла-бла
Бла-бла
Бла-бла
Бла-бла
Бла-бла";

$res = explode("\n", $out);

for($i = 0; $i < $max; $i++){
$result[] = trim($res[$i]);
}
$out = null;
$out = implode("<br />", $result);
echo $out;
?>[/php]


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kismedia
kismedia
Topic Starter сообщение 20.1.2011, 23:47; Ответить: kismedia
Сообщение #4


Да, если надо просто получить $out с содержимым


Да, с содержимым нужно было, записать все в итоге в $out

Все работае, спасибо! ;)

Изменил только "<br />" на "\n" на выходе:

[php]$out = implode("\n", $result);[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alman_mw
Alman_mw
сообщение 1.2.2011, 4:42; Ответить: Alman_mw
Сообщение #5


Здравствуйте.

Может не в тему, но вдруг пригодится :)

Вывод некоего числа последних строк из файла (массива) можно сделать таким образом

[php]<?php
$view_cnt = 20; # Количество строк для вывода

$file = file("file.txt"); # Чтение данных из файла
$count = count($file); # Подсчет количества строк в файле

$view = $count - $view_cnt; # С какой строки вести счет для вывода (не знаю, как еще обозвать эту переменную ) :)

for ($i = $view; $i < $count; $i++) { # Собственно тут и происходит священнодействие :)
echo $file[$i]. "<br>";
}
?>[/php]

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Ручной обмен, ввод/вывод электронных валют | ЮMoney, WMZ, Крипта, Приват, Монобанк | Низкие комиссии, минимальные суммы сделок
быстро, удобно, по доступному курсу
200 Sostavitel 97661 11.2.2024, 21:07
автор: Wolfhound
Открытая тема (нет новых ответов) Sbitcoin.ru – Ввод, Вывод, Обмен: Qiwi, YD, Btc, Btc-e, PM, Cash IN, PR24, MG, WU, Нал (RU, UA).
9 sbitcoinru 6746 10.10.2023, 19:25
автор: Sbitcoin
Горячая тема (нет новых ответов) Обмен WebMoney - Яндекс - QIWI. Вывод/ввод Приват24 UAH
225 himin 132447 7.5.2023, 13:26
автор: Вера_Симонова
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлы«»101Crypta.com«»ВВОД/ВЫВОД/ОБМЕН«»BTC/ETH/QIWI/USDT/VISA/MC«»НАЛИЧНЫЕ/СНГ/ЕВРОПА«»
13 101Crypta 12130 18.4.2023, 23:15
автор: 101Crypta
Открытая тема (нет новых ответов) Нужен вывод в топ наших роликов Youtube
3 wep 1906 23.3.2023, 17:39
автор: distrib095


 



RSS Текстовая версия Сейчас: 28.3.2024, 18:29
Дизайн