[英]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有時會這樣做。 值得檢查的東西......
是的, nl2br()
將適用於您的情況。 但是,如果您刪除了原始的<br>
標簽並且只使用了\\n
或硬換行符,則不需要使用此功能。 <br>
標簽是電子郵件中唯一的HTML標簽。 它沒有良好的形成。 你最好刪除它們和行$headers .= "Content-type: text/html\\r\\n";
所以你只需發一封普通/短信。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.