2015-07-30 2 views
0

Я пытаюсь добавить новую строку в конце строки, так что я мог бы лучше видеть <option> в новых строках, hovewer Я получаю строку с «\ r \ n» как текст вместо новых строк. Что не так с кодом?Добавление новой строки в строку PHP

foreach ($xml['ROW'] as $ar) { 
    $tekstas = $ar['zz'] . ' (' . $ar['xx'] . ')'; 
    $insert .= '<option value="' . $ar['Adresas'] . '">' . $tekstas .'</option> "\r\n"' ; 
} 
echo nl2br(htmlentities($insert)); 

ответ

0

Практически там, посмотрите на правильный путь, чтобы объединить новую строку с остальной строкой, которую вы создаете.

foreach ($xml['ROW'] as $ar) { 
$tekstas = $ar['zz'] . ' (' . $ar['xx'] . ')'; 
$insert .= '<option value="' . $ar['Adresas'] . '">' . $tekstas .'</option> ' . PHP_EOL ; 
} 
echo nl2br(htmlentities($insert)); 
+1

'\ r \ n' используется в Windows и' \ n' в системах на базе UNIX. если вы используете константу 'PHP_EOL', она будет более совместимой с обоими. – HPierce

1

"\ r \ n" должно быть в двойных кавычках.

foreach ($xml['ROW'] as $ar) { 
    $tekstas = $ar['zz'] . ' (' . $ar['xx'] . ')'; 
    $insert .= '<option value="' . $ar['Adresas'] . '">' . $tekstas .'</option>'."\r\n"; 
} 
echo nl2br(htmlentities($insert)); 
1

' -quoted струна не соблюдающая сбежавшие метасимволов как " -quoted из них делает:

echo '\r' - outputs a literal backslash and an 'r' 
echo "\r" - outputs a carriage return 

только побеги, которые поддерживаются в ' струн \' и \\.

Так ..

'</option> "\r\n"' 
^---open single quote string 
       ^---close single-quote string 

, когда он должен быть

'</option> ' . "\r\n" 

вместо этого.

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