2016-12-20 2 views
4

У меня есть большая проблема с отображением разрывов строк из mysql на моей php-сгенерированной странице html. я опробовал nl2br(), руководство str_replace() и так далее ... В моей базе данных SQL запись, как:Заменить/отобразить новую строку от MYSQL до PHP

first line 
second line 
third line 

НО: Там нет \n «s или <br>» s в этой записи. Если я получаю эти данные через вызов ajax и используя javascript: data.mystring.replace(/\n/g, "<br />") на нем, все работает нормально!

Но теперь я должен отследить эти данные непосредственно через php. И я не вижу никаких разрывов. Не важно, что я пробую. Есть идеи?

Вот скрипт (вставленный через вызов AJAX):

$adress = mysqli_real_escape_string($con, $_POST["adress"]); 
mysqli_query($con, "INSERT INTO Contact SET Adress = '$adress'); 

Чтение данных базы данных на моей странице PHP:

mysqli_query($con, "SET NAMES 'utf8'"); 
$query = mysqli_query($con, "SELECT * FROM Contact"); 
$dsatz = mysqli_fetch_assoc($query); 
$newString = $dsatz["Adress"]; 

echo nl2br($newString); 
+0

Ну, если это регулярное выражение работает, то в данных базы данных есть '\ n' или, возможно, его' \ r \ n', если вы unixer – RiggsFolly

+4

'nl2br()' просто работает, так что проблема в ваших данных/скрипте. Покажите свой скрипт/разметку. – bassxzero

+0

У вас есть Notepad ++ или редактор, который будет показывать символы новой строки? – bassxzero

ответ

1

Как не \n показанного в вашем дб вы могут делать

UPDATE tab SET yourcommentcolumn= REPLACE(yourcommentcolumn, CHAR(13), '\\n'); 

CHAR() принимает код ASCII для carrige возврата 13 (или вы можете заменить его новой строки с кодом 10, если вы имеете в виду новой строки) и \\n является, чтобы избежать \ п.

Если вам удастся заменить их, вы можете:

echo nl2br($yourString) 
1

Вы можете поиск над каждым символом и проверьте значение его с помощью функции ога PHP.

Проверьте значение в таблице ascii и посмотрите, какое значение имеет ваш разделитель строк.

Вы можете использовать str_split или получить доступ к строке, подобной массиву, в цикле и проверить каждый символ в отдельности.

ога документация: http://php.net/manual/en/function.ord.php CHR (содержит ссылку на ASCii таблицу) документации: http://php.net/manual/en/function.chr.php Strings (доступ струнного и изменения по разделам характера) документация: http://php.net/manual/en/language.types.string.php И функция str_split: http://php.net/manual/en/function.str-split.php

+0

Спасибо за эту информацию! Это решило проблему, поскольку она показала мне, что это проблема импорта. У импортированных данных нет новых строк. Благодаря! – Inkperial