"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا لا يستبدل `nl2br()` الأسطر الجديدة في كود PHP الخاص بي؟

لماذا لا يستبدل `nl2br()` الأسطر الجديدة في كود PHP الخاص بي؟

تم النشر بتاريخ 2024-11-15
تصفح:830

Why Doesn\'t `nl2br()` Replace Newlines in My PHP Code?

استبدال أحرف السطر الجديد بفواصل أسطر HTML

عند محاولة استبدال السطر الجديد أو أحرف \r\n بفواصل أسطر HTML، بعض الطرق الشائعة قد لا تسفر عن النتائج المرجوة، خاصة عند التعامل مع الأسطر الجديدة المزدوجة (\r\r).

المشكلة والتحقيق:

المحاولات الأولية شملت استخدام preg_replace() و str_replace() و nl2br(). ومع ذلك، استمرت الأسطر الجديدة، مما أثار التساؤل حول ما إذا كانت الأسطر الجديدة المزدوجة هي سبب المشكلة.

الحل والشرح:

يجب أن تكون وظيفة nl2br() كافية لإدراج فواصل الأسطر قبل أحرف السطر الجديد. ومع ذلك، إذا لم ينجح الأمر، فتأكد من أن النص الذي تتم معالجته محاط بعلامتي اقتباس مزدوجتين.

مثال:

// Won't work
$desc = 'Line one\nline two';
// Should work
$desc2 = "Line one\nline two";

echo nl2br($desc);
echo '
'; echo nl2br($desc2);

رؤية إضافية:

لا تفسر علامات الاقتباس المفردة تسلسلات الهروب مثل \n، بينما تقوم علامات الاقتباس المزدوجة بذلك. ومن ثم فإن استخدام علامات الاقتباس المفردة للنص قد يعيق عملية الاستبدال.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3