Форум — Web-development php не заменяет <br> на new line 0 1 как заменить <br> в тексте награбленном с сайта на \n чтобы записать это в текстовый файл?str_replace не работает Ссылка
> str_replace не работает ЛОЛ! с чегоэто вдруг он перестал работать? :-D :-D :-D user_id_68054 ★★★★★ (26.05.11 23:18:58 MSK) Показать ответ Ссылка
всопмнилось http://www.linux.org.ru/polls/polls/6239999 :-) user_id_68054 ★★★★★ (26.05.11 23:21:04 MSK) Ссылка
Ответ на: комментарий от user_id_68054 26.05.11 23:18:58 MSK я сам не знаю может деле в кодировке скобок < и > а может в самой функции php 5 preepunk ★ (26.05.11 23:21:43 MSK) автор топика Показать ответы Ссылка
оно точно <br> должно заменять? может там в изначальном саете <br /> какое-нибудь? anonymous (26.05.11 23:24:47 MSK) Показать ответ Ссылка
Ответ на: комментарий от preepunk 26.05.11 23:21:43 MSK в кодировке скобок сильноты что-то не правильно делаешь % 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 ★★★ (26.05.11 23:25:27 MSK) Ссылка
> как заменить <br> в тексте награбленном с сайта на \n чтобы записать это в текстовый файл? а ещё я открою большую тайну что — чтобы записывать в файл необязательно заменять <br> на «\n» :-) # p.s.: ну эт так — оффтопик :-) user_id_68054 ★★★★★ (26.05.11 23:30:21 MSK) Ссылка
Ответ на: комментарий от preepunk 26.05.11 23:21:43 MSK > я сам не знаю может деле в кодировке скобок < и > а может в самой функции php 5 тут может быть дело в видении-кодировки например программы notepad.exe, которая не умеет читать «\n» но зато умеет «\r\n» :-) user_id_68054 ★★★★★ (26.05.11 23:32:09 MSK) Показать ответ Ссылка
Ответ на: комментарий от user_id_68054 26.05.11 23:32:09 MSK а еще может быть utf-16, да... anonymous (26.05.11 23:34:47 MSK) Показать ответ Ссылка
Ответ на: комментарий от anonymous 26.05.11 23:24:47 MSK я уже решил, надо было кодировку ISO поставить в php preepunk ★ (26.05.11 23:39:48 MSK) автор топика Ссылка
Ответ на: комментарий от anonymous 26.05.11 23:34:47 MSK > а еще может быть utf-16, да... а ещё в папке «C:\\Windows\\» — есть файлы 0.txt и clock.avi, ...дааа....и даже не такое! :-) user_id_68054 ★★★★★ (27.05.11 00:27:21 MSK) Ссылка
Готов итить на спор, что у тебя там либо пробелы между угловыми скобками, либо <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 ★☆☆ (27.05.11 08:01:41 MSK) Показать ответы Ссылка
Ответ на: комментарий от r_asian 27.05.11 08:01:41 MSK Вношу поправку. Жадность потребно ограничить.$text = preg_repalce("/<\s*?br\s*?\/{0,1}\s*?>/", "\n", $text); r_asian ★☆☆ (27.05.11 08:05:38 MSK) Показать ответ Ссылка
Ответ на: комментарий от r_asian 27.05.11 08:01:41 MSK ну в таком случае спор вами проигран, так как проблема была не в этом preepunk ★ (27.05.11 11:01:32 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от preepunk 27.05.11 11:01:32 MSK > ну в таком случае спор вами проигран, так как проблема была не в этом Догда боюсь себе представить интенсивность фэйспалмирования, когда вы нашли, в чем дело. Лицо цело? А рука? r_asian ★☆☆ (27.05.11 11:17:28 MSK) Ссылка
Попробуй не использовать этот говноязык и заменить его на другой. babusha (27.05.11 12:06:32 MSK) Ссылка
Ответ на: комментарий от r_asian 27.05.11 08:05:38 MSK >Жадность потребно ограничить. Вообще, корректнее ограничивать набор символов: $text = preg_repalce(«/<br[^>]*>/», «\n», $text); (вроде, тэгов, начинающихся на «br» других нет) \/{0,1} Это то же самое, что \/? KRoN73 ★★★★★ (27.05.11 12:59:04 MSK) Ссылка
сразу видно, что php тут никто не осилил...http://php.net/manual/en/function.nl2br.phpюзай. drakmail ★★★★ (27.05.11 13:15:28 MSK) Показать ответы Ссылка
Ответ на: комментарий от drakmail 27.05.11 13:15:28 MSK Сразу видно, что сообщение, на которое отвечаешь, не читал :D Требуется обратное решение. br2nl(), так сказать. KRoN73 ★★★★★ (27.05.11 13:20:13 MSK) Показать ответ Ссылка
Ответ на: комментарий от drakmail 27.05.11 13:15:28 MSK сразу видно, что 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 ★☆☆ (27.05.11 13:20:37 MSK) Ссылка
Ответ на: комментарий от KRoN73 27.05.11 13:20:13 MSK Посыпаю голову пеплом ) На самом деле, по моей ссылке в комментариях есть десяток решений по br2nl. drakmail ★★★★ (27.05.11 17:31:47 MSK) Ссылка