JS vs Нови Редове

jack

Registered
Привет. Имам следният проблем- написах си един аякс скрипт в стил edit-in-box записва си се текста коректно в mysql, но след това при визуализацията скрипта се чупи. Написах дизейбъл скрипт за да не може да се натиска ентър бутона докато се попълва формата, работи ок е, но ако човек просто вземе и изкопира текст от някъде с нов ред и всичко се чупи. Най-неприятното е че не мога да го обработя със субстринг примерно- това не е <br> таг дефакто, а нещо което вобще не се вижда на екрана - нов ред, в базата данни също си се записва и при визуализация след това си е нов ред, но изписан в js се чупи.
Някакви идеи?!? Мерси предварително. :cry:
 
nl2br аз го ползвам и при запис на новите редове ми слага бр но при едит просто имаш бр та
 
sorRy каза:
nl2br аз го ползвам и при запис на новите редове ми слага бр но при едит просто имаш бр та

Изглежда това нещо не върши работа тъй като текста се форматира така

Код:
нещо си текст<br>
продължение

а за да е ок js-то трябва да е

Код:
нещо си текст<br>продължение
...
 
koko5 каза:
Код:
string.replace(/(\r?\n)+/g,'')
:?:

това което си написал е за js доколкото виждам, а на мен ми се искаше самият текст да може да се окастри и да постъпи в базата данни, тъй като след това от там ще се вади за печати и прочие и нямам нужда от нови редове, форматиране и прочие...
 
FestarBG каза:
$text = "some text \n and some \r\n and some \t";
$text = trim($text);


php.net : trim()

пробвах го тримването естетсвено, но не дава този резултата който очаквам взимам един текст от word с нови редове, копирам го и след това js-то е счупено... :cry:
 
Е, по тоя проблем е много писано в интернет. Ето ти едно лесно решение:
Код:
foreach ($_POST as $key => $value) {	
	$_POST[$key] = preg_replace("/\r\n/", "[br]", $_POST[$key]);
	$_POST[$key] = preg_replace("/\n/", "[br]", $_POST[$key]);
	$_POST[$key] = preg_replace("/\r/", "[br]", $_POST[$key]);
}

После, когато викаш текста за визуализиране ще замениш [br] с <br />.
Ако пък ти трябва за редактиране ще приложиш обратната схема, но опростена:
Код:
$text = preg_replace("\[br\]", "\n", $text;
 
afsh каза:
Е, по тоя проблем е много писано в интернет. Ето ти едно лесно решение:
Код:
foreach ($_POST as $key => $value) {	
	$_POST[$key] = preg_replace("/\r\n/", "[br]", $_POST[$key]);
	$_POST[$key] = preg_replace("/\n/", "[br]", $_POST[$key]);
	$_POST[$key] = preg_replace("/\r/", "[br]", $_POST[$key]);
}

После, когато викаш текста за визуализиране ще замениш [br] с <br />.
Ако пък ти трябва за редактиране ще приложиш обратната схема, но опростена:
Код:
$text = preg_replace("\[br\]", "\n", $text;
да и аз с една камара регулярни изрази го направих, махнах и множествената спация, редове всичко е ок вече
 

Горе