Здравствуйте.
С непонятной для меня проблемой столкнулся. Мне требуется записать в базу данных из textarea данные с переносом строки [br] у меня не получается. Перепробовал тучу способов включая мультибайты хотя они тут не должны быть никак связаны.
Стока $message:
Это мой уникальный контент,\r\nЭто перенос строки,\r\nА это запрос к БД \' OR \'
Надо преобразовать в
Это мой уникальный контент,[br]Это перенос строки,[br]А это запрос к БД \' OR \'
Пробовал следующими способами, перечисляю все.
// самый совершенный вариант относительно UDF-8
$text = mb_ereg_replace("\r\n|\r|\n", "[br]", $message);
// Из документации PHP
$order = array("\r\n", "\n", "\r");
$replace = '[br]';
$text = str_replace($order, $replace, $message);
// Теоретически самый правильный вариант
$text = nl2br ($message);
// Другие варианты со стек оверфлова заключающиеся в реализации mb_str_replace
Платформа
Windows
XAMPP
PHP 5.3.8
Вся работа в UTF-8 начиная с HTML кончая PHP.
Что я делаю не так? У меня в $text вылезает та же строка. Так должно быть или я неудачник?
PS: это работает безупречно!
$text = mb_ereg_replace("мой", "[br]", $message);
У меня варианты кончились. Что делать не знаю.
PS2: Что-то с подсветкой на хабре случилось. Все [br] считать как за тег <..>, ибо естественно в БД я буду писать статику, но не в этом суть дела.