2014-09-11 5 views
1

Я использую PHP для вставки данных в базу данных sqlite.Как я могу вставить новую строку в sqlite в PHP?

У меня есть строка, как следующее:

$string = "Good morning!<br />It is a wonderful day!<br />" 

Я хотел бы, чтобы заменить все вхождения <br /> с \n.

я сделал следующее в PHP для того, чтобы заменить <br /> но он не работает:

<?php 
    $string = "Good morning!<br />It is a wonderful day!<br />" 
    $symbols =array('<br />'); 
    $replace_symbols = array('\\n'); 
    $string = str_replace($symbols, $replace_symbols,$string); 
    //InsertIntoSqlite($db,$string); 
?> 

При подключении к SQLite базы данных с менеджером SQLite, я вижу следующие вставлены в базу данных:

sqlite: Good morning!\nIt is a wonderful day!\n

что я могу сделать для того, чтобы исправить это?

РЕШИТЬ:

я сделал следующее:

<?php 

    $string = str_replace("<br />","\n",$string); 

?> 

ответ

2

' -quoted строка не чтить НИКАКИХ побега, за исключением самого побега. '\t' не отображается на табу, это \, за которым следует t. Вместо этого вы хотите "\n", что является фактической новой строкой.

echo '\\ \t \n \r'; // spits out: \ \t \n \r 
echo "\\ \t \n \r"; // spits out \ [tab] [newline] [carriagereturn] 
+0

Итак, нужно ли использовать двойные кавычки вместо одинарных кавычек? – programmer

+0

Да и только одна обратная косая черта. Если вы просто слепо измените свой код на '' \\ n "', вы получите STILL '\ n' в своем выводе, потому что' '\\' 'будет сначала проанализирован и сведен к просто' '\' ', оставляя вас с '' '' '' и 'n' char в вашей строке, а не символом новой строки. –

+0

Спасибо за это, это сработало для меня! Теперь я вижу новую строку в sqlite! – programmer

Смежные вопросы