ฉันใช้ textarea เพื่อให้ผู้ใช้ป้อนความคิดเห็น อย่างไรก็ตามหากผู้ใช้เข้าสู่บรรทัดใหม่บรรทัดใหม่จะไม่ปรากฏขึ้นเมื่อมีการส่งออก มีวิธีใดบ้างที่จะทำให้เส้นแบ่งอยู่ได้
มีความคิดอย่างไรที่จะรักษาเส้นแบ่ง?
ฉันใช้ textarea เพื่อให้ผู้ใช้ป้อนความคิดเห็น อย่างไรก็ตามหากผู้ใช้เข้าสู่บรรทัดใหม่บรรทัดใหม่จะไม่ปรากฏขึ้นเมื่อมีการส่งออก มีวิธีใดบ้างที่จะทำให้เส้นแบ่งอยู่ได้
มีความคิดอย่างไรที่จะรักษาเส้นแบ่ง?
คำตอบ:
สองวิธีสำหรับสิ่งนี้:
ฟังก์ชัน PHP nl2br()
:
เช่น,
echo nl2br("This\r\nis\n\ra\nstring\r");
// will output
This<br />
is<br />
a<br />
string<br />
ห่ออินพุตใน<pre></pre>
แท็ก
nl2br()
:)
นี่คือสิ่งที่ฉันใช้
$textToStore = nl2br(htmlentities($inputText, ENT_QUOTES, 'UTF-8'));
$inputText
คือข้อความที่มาจากแบบฟอร์มหรือพื้นที่ข้อความ
$textToStore
คือข้อความที่ส่งคืนจากnl2br
และhtmlentities
ที่จะเก็บไว้ในฐานข้อมูลของคุณ
ENT_QUOTES
จะแปลงทั้งคำพูดคู่และเดี่ยวดังนั้นคุณจะไม่มีปัญหากับคำพูดเหล่านั้น
มีคำตอบของตัวเอง: การใช้ฟังก์ชันนี้จากข้อมูลจาก textarea ช่วยแก้ปัญหาได้:
function mynl2br($text) {
return strtr($text, array("\r\n" => '<br />', "\r" => '<br />', "\n" => '<br />'));
}
เพิ่มเติมที่นี่: http://php.net/nl2br
ฉันใช้สองขั้นตอนวิธีการนี้เพื่อรักษาข้อความเดียวกันซึ่งอยู่ในtextareaเพื่อจัดเก็บใน mysql และในเวลาที่ได้รับฉันยังสามารถแสดงข้อความธรรมดาได้ .....
ขั้นตอนที่ 1:
$status=$_POST['status'];<br/>
$textToStore = nl2br(htmlentities($status, ENT_QUOTES, 'UTF-8'));
ในการสอบถามป้อน$textToStore
....
ขั้นตอนที่ 2:
เขียนโค้ดสำหรับ Select query ... และค่า echo โดยตรง ....
มันได้ผล
ใช้งานได้:
function getBreakText($t) {
return strtr($t, array('\\r\\n' => '<br>', '\\r' => '<br>', '\\n' => '<br>'));
}
function breakit($t) {
return nl2br(htmlentities($t, ENT_QUOTES, 'UTF-8'));
}
สิ่งนี้อาจช่วยคุณได้
ผ่าน textarea wal
ทำไม make จึงเป็นคนยากในเมื่อมันง่ายมาก :)
//here is the pull from the form
$your_form_text = $_POST['your_form_text'];
//line 1 fixes the line breaks - line 2 the slashes
$your_form_text = nl2br($your_form_text);
$your_form_text = stripslashes($your_form_text);
//email away
$message = "Comments: $your_form_text";
mail("destination_email@whatever.com", "Website Form Submission", $message, $headers);
เห็นได้ชัดว่าคุณต้องการส่วนหัวและอาจมีฟิลด์มากกว่านี้ แต่นี่คือพื้นที่ที่คุณดูแล