簡體   English   中英

如何在表單返回段落(PHP)中制作“textarea”

[英]How to make “textarea” in Form return paragraphs (PHP)

初學者在這里。

我有一個帶有textarea的表單來返回評論。 我從helpvid.net獲得了一個PHP腳本來發送表單。 因此,表單被發送到PHP文件。然后表單通過電子郵件將信息返回給我。

問題是評論是作為一個大的磨合段發送的。 即使用戶在字段中點擊Return以創建新行,電子郵件中返回的文本也在一行上。 如果用戶點擊兩次返回以創建一個新段落,那么這些段落將作為一個長段返回。 我希望返回的文本具有用戶輸入的換行符。

以下是返回注釋的PHP文件的代碼形式:

$name = $_POST['name'];
$company = $_POST['company'];
$address = $_POST['address'];
$city = $_POST['city'];

$state = $_POST['state'];
$zip = $_POST['zip'];
$email = $_POST['email'];
$optin = $_POST['optin'];
$comments = $_POST['comments'];



$body = <<<EOD
<br><br>
Please send samples to: <br /><br />
$name <br />
$company <br />
$address <br>
$city, $state $zip <br><br />
Email: $email <br><br />
Opt-In to occasional email list?: $optin <br><br />
Comments: $comments <br>
EOD;
$headers = "From: $email\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail($webMaster, $emailSubject, $body,
$headers);

有沒有辦法修改此代碼,或我的HTML文件返回段落?

nl2br是你的朋友:

$comments = nl2br($_POST['comments']);

http://www.php.net/manual/en/function.nl2br.php

這應該做到這一點。 基本上它會將換行符轉換為<br />標記。

請注意,如果您確實要發送純文本電子郵件,這應該不是問題。 您確定您的電子郵件客戶端沒有剝離換行符嗎? 我知道Outlook有時會這樣做。 值得檢查的東西......

UPDATE

是的, nl2br()將適用於您的情況。 但是,如果您刪除了原始的<br>標簽並且只使用了\\n或硬換行符,則不需要使用此功能。 <br>標簽是電子郵件中唯一的HTML標簽。 它沒有良好的形成。 你最好刪除它們和行$headers .= "Content-type: text/html\\r\\n"; 所以你只需發一封普通/短信。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM