2009-09-29 2 views
1

Я имею довольно простой вопросPHP синтаксис для новой строки не работает

может кто-нибудь сказать мне, почему это не отображает каждую переменную на новой строке, а для <br> исключением.

$curtime = gmdate("d/m/Y H:i:s"); 
    //capture the PayPal returned information as order remarks 
$oremarks = 
"##$curtime##<br>". 
"PayPal Transaction Information...\n". 
"Txn Id: ".$ppInfo["txn_id"]."\n". 
"Txn Type: ".$ppInfo["txn_type"]."\n". 
"Item Number: ".$ppInfo["item_number"]."\n". 
"Payment Date: ".$ppInfo["payment_date"]."\n". 
"Payment Type: ".$ppInfo["payment_type"]."\n". 
"Payment Status: ".$ppInfo["payment_status"]."\n". 
"Currency: ".$ppInfo["mc_currency"]."\n". 
"Payment Gross: ".$ppInfo["payment_gross"]."\n". 
"Payment Fee: ".$ppInfo["payment_fee"]."\n". 
"Payer Email: ".$ppInfo["payer_email"]."\n". 
"Payer Id: ".$ppInfo["payer_id"]."\n". 
"Payer Name: ".$ppInfo["first_name"]." ".$ppInfo["last_name"]."\n". 
"Payer Status: ".$ppInfo["payer_status"]."\n". 
"Country: ".$ppInfo["residence_country"]."\n". 
"Business: ".$ppInfo["business"]."\n". 
"Receiver Email: ".$ppInfo["receiver_email"]."\n". 
"Receiver Id: ".$ppInfo["receiver_id"]."\n"; 

//Update database using $orderno, set status to Paid 
//Send confirmation email to buyer and notification email to merchant 
//Redirect to thankyou page 
echo $oremarks; 

благодарит Richard

ответ

1

Предположительно потому, что вы создаете HTML исходный код PHP, а не простой текст.

В HTML новая строка рассматривается как любые другие пробелы. Вам нужен элемент <br> или что-то, что display: block (или подобное), чтобы вызвать разрыв строки.

1

В html строки новой строки никогда не идут в линию. Вы должны положить <br> в свой источник.

Обратите внимание, что php также может работать независимо от http-сервера в качестве утилиты командной строки и не обязательно генерировать html.

Таким образом, если вы задали свой тип контента на веб-сервере равным/текстовым, а не html, используя header("Content-type: plain/text"); в начале вашего файла, ваш текст будет переведен в строку, как вы ожидали.

+0

Ок, спасибо всем, я diddnt Не знаю о выходе html – Richard

3

Поскольку вы выводите результат в окне браузера, попробуйте "<br />" вместо «\ n».

0

\ n показывает только новую строку в источнике.
- символ «новой строки» для HTML.

1

Попробуйте чередуя двойные кавычки для ваших значений массива, используйте одинарные кавычки вместо

$curtime = gmdate("d/m/Y H:i:s"); 
    //capture the PayPal returned information as order remarks 
$oremarks = 
"##$curtime##<br>". 
"PayPal Transaction Information...\n". 
"Txn Id: ".$ppInfo['txn_id']."\n". 
"Txn Type: ".$ppInfo['txn_type']."\n". 
"Item Number: ".$ppInfo['item_number']."\n". 
"Payment Date: ".$ppInfo['payment_date']."\n". 
"Payment Type: ".$ppInfo['payment_type']."\n". 
"Payment Status: ".$ppInfo['payment_status']."\n". 
"Currency: ".$ppInfo['mc_currency']."\n". 
"Payment Gross: ".$ppInfo['payment_gross']."\n". 
"Payment Fee: ".$ppInfo['payment_fee']."\n". 
"Payer Email: ".$ppInfo['payer_email']."\n". 
"Payer Id: ".$ppInfo['payer_id']."\n". 
"Payer Name: ".$ppInfo['first_name']." ".$ppInfo['last_name']."\n". 
"Payer Status: ".$ppInfo['payer_status']."\n". 
"Country: ".$ppInfo['residence_country']."\n". 
"Business: ".$ppInfo['business']."\n". 
"Receiver Email: ".$ppInfo['receiver_email']."\n". 
"Receiver Id: ".$ppInfo['receiver_id']."\n"; 

//Update database using $orderno, set status to Paid 
//Send confirmation email to buyer and notification email to merchant 
//Redirect to thankyou page 
echo $oremarks; 

Но я бы рекомендовал использовать HEREDOC вместо конкатенации строки

$curtime = gmdate("d/m/Y H:i:s"); 
     //capture the PayPal returned information as order remarks 
    $oremarks =<<<OREMARKS 
##$curtime## 
PayPal Transaction Information... 
Txn Id: $ppInfo['txn_id'] 
Txn Type: $ppInfo['txn_type'] 
Item Number: $ppInfo['item_number'] 
Payment Date: $ppInfo['payment_date'] 
Payment Type: $ppInfo['payment_type'] 
Payment Status: $ppInfo['payment_status'] 
Currency: $ppInfo['mc_currency'] 
Payment Gross: $ppInfo['payment_gross'] 
Payment Fee: $ppInfo['payment_fee'] 
Payer Email: $ppInfo['payer_email'] 
Payer Id: $ppInfo['payer_id'] 
Payer Name: $ppInfo['first_name'] $ppInfo['last_name'] 
Payer Status: $ppInfo['payer_status'] 
Country: $ppInfo['residence_country'] 
Business: $ppInfo['business'] 
Receiver Email: $ppInfo['receiver_email'] 
Receiver Id: $ppInfo['receiver_id'] 
OREMARKS; 

    //Update database using $orderno, set status to Paid 
    //Send confirmation email to buyer and notification email to merchant 
    //Redirect to thankyou page 
    echo $oremarks; 
+0

спасибо за синтаксис heredoc, который пригодится в будущем – Richard

0

Применение «\ п» просто создавая новую строку в html-коде, она не создает новую видимую строку. Вам нужно использовать html, чтобы новая строка была видимой. Вы можете использовать HTML-перерыв <br> или вы можете сделать каждую строку абзаца <p> your text... </p> или вы можете использовать список:

<ul> 
    <li> your text... </li> 
    <li> next item... </li> 
    <li> more stuff.. </li> 
</ul> 
0

Попробуйте положить в следующем:

<?php 
echo "<pre>"; 
. 
. 
. 
?> 

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

  • Нет связанных вопросов^_^