LINUX.ORG.RU

оно точно <br> должно заменять? может там в изначальном саете <br /> какое-нибудь?

anonymous
()
Ответ на: комментарий от preepunk

в кодировке скобок

сильно

ты что-то не правильно делаешь

 % php test.php 
 % cat test.txt 
line1
line2
 % cat test.php
<?php
  $str='line1<br>line2';
  
  $fh = fopen('test.txt', "a");
  fwrite($fh, str_replace('<br>',"\n",$str)."\n");
  fclose($fh);
?>
dGhost ★★★
()

> как заменить <br> в тексте награбленном с сайта на \n чтобы записать это в текстовый файл?

а ещё я открою большую тайну что — чтобы записывать в файл необязательно заменять <br> на «\n» :-)

# p.s.: ну эт так — оффтопик :-)

user_id_68054 ★★★★★
()
Ответ на: комментарий от preepunk

> я сам не знаю может деле в кодировке скобок < и > а может в самой функции php 5

тут может быть дело в видении-кодировки например программы notepad.exe, которая не умеет читать «\n» но зато умеет «\r\n» :-)

user_id_68054 ★★★★★
()
Ответ на: комментарий от anonymous

я уже решил, надо было кодировку ISO поставить в php

preepunk
() автор топика
Ответ на: комментарий от anonymous

> а еще может быть utf-16, да...

а ещё в папке «C:\\Windows\\» — есть файлы 0.txt и clock.avi, ...дааа....и даже не такое! :-)

user_id_68054 ★★★★★
()

Готов итить на спор, что у тебя там либо пробелы между угловыми скобками, либо <br> в стиле XHTML

На вот тебе, костылёчек. Титановый.

$text = str_replace("\n", "{br}", $text)
$text = str_replace("\r", "{rt}", $text)
$text = preg_repalce("/<\s*br\s*\/{0,1}>/", "\n", $text);
$text = str_replace("{br}", "\n", $text)
$text = str_replace("{rt}", "\r", $text)
r_asian ★☆☆
()
Ответ на: комментарий от preepunk

> ну в таком случае спор вами проигран, так как проблема была не в этом

Догда боюсь себе представить интенсивность фэйспалмирования, когда вы нашли, в чем дело. Лицо цело? А рука?

r_asian ★☆☆
()

Попробуй не использовать этот говноязык и заменить его на другой.

babusha
()
Ответ на: комментарий от r_asian

>Жадность потребно ограничить.

Вообще, корректнее ограничивать набор символов:
$text = preg_repalce(«/<br[^>]*>/», «\n», $text);

(вроде, тэгов, начинающихся на «br» других нет)

\/{0,1}


Это то же самое, что \/?

KRoN73 ★★★★★
()
Ответ на: комментарий от drakmail

Сразу видно, что сообщение, на которое отвечаешь, не читал :D Требуется обратное решение. br2nl(), так сказать.

KRoN73 ★★★★★
()
Ответ на: комментарий от drakmail

сразу видно, что php тут никто не осилил...

http://php.net/manual/en/function.nl2br.php

Спасибо тебе, добрый дядя, не осиливший буквы. У ТС противоположная задача.

Returns string with '<br />' or '<br>' inserted before all newlines (\r\n, \n\r, \n and \r). 
r_asian ★☆☆
()
Ответ на: комментарий от KRoN73

Посыпаю голову пеплом ) На самом деле, по моей ссылке в комментариях есть десяток решений по br2nl.

drakmail ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.