Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проблема с переносом строки
 
 автор: Blaster   (08.06.2008 в 09:35)   письмо автору
 
 

Код такой:

<?php
$result
="";
$file_array=file("bla.txt");
for(
$i=0$i<count($file_array); $i++)
{
    
$str=$file_array[$i];
    
$result.="$str"
}

echo 
$result;
?>


этот скрипт выводит содержимое файла bla.txt.
в файле bla.txt много сторк, эти строки разделены символом переноса строки, который тоже отображается при выполнении скрипта.
В итоге, получается, что если смотреть исходный HTML код сгенерировавшийся страницы, он будет идентичен содержимому файла bla.txt

Задача такая:
Нужно, чтобы при выполнении скрипта символ переноса строки заменялся на тэг <br>.
Я пытаюсь осуществить это так:
$result=str_replace("\r\n", "<br>", $result);

но замена не происходит.
Подскажите, пожалуйста, если кто знает ответ?
Заранее спасибо.

   
 
 автор: sim5   (08.06.2008 в 09:39)   письмо автору
 
   для: Blaster   (08.06.2008 в 09:35)
 

nl2br("bla.txt")

   
 
 автор: Blaster   (08.06.2008 в 09:43)   письмо автору
 
   для: sim5   (08.06.2008 в 09:39)
 

Нет, это немного не то.
функция nl2br() добавляет тэг <br> перед разрывом строки, а нужна замена разрыва строки на тэг <br>

   
 
 автор: ddhvvn   (08.06.2008 в 10:21)   письмо автору
 
   для: Blaster   (08.06.2008 в 09:43)
 

блин, ну тогда просто str_replace

   
 
 автор: SiM(R)   (08.06.2008 в 10:50)   письмо автору
 
   для: ddhvvn   (08.06.2008 в 10:21)
 

Попробуйте так:

$result=str_replace("\n", "<br>", $result);

скорее всего у Вас перенос не \r\n, а просто \n, или \n\r.

   
 
 автор: Trianon   (08.06.2008 в 11:20)   письмо автору
 
   для: Blaster   (08.06.2008 в 09:43)
 

Интересно, почему Вам нужна именно замена?

PS. попробуйте применить rtrim()

   
 
 автор: cheops   (08.06.2008 в 11:30)   письмо автору
 
   для: Trianon   (08.06.2008 в 11:20)
 

Если проблема только в конечном переводе строки и версия PHP свежая, то проще его вообще устранить при помощи флага FILE_IGNORE_NEW_LINES во втором параметре функции file(). А потом добавлять в конец элемента тэг <br>.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования