سؤال

يبدو أن بعض الحقول في MySQL DB لدينا تحتوي على أحرف جديدة بحيث إذا قمت بتحديدها على شيء مثل ما يلي سيتم إرجاع ما يلي لاستدعاء SQL واحد:

Life to be sure is nothing much to lose

But young men think it is and we were young

إذا كنت ترغب في الحفاظ على فواصل الأسطر عند عرض هذا الحقل على صفحة ويب، هو الحل القياسي لكتابة برنامج نصي لاستبدال " n r" مع علامة BR HTML أو هل هناك طريقة أفضل؟

شكرا!

هل كانت مفيدة؟

المحلول

افتراض PHP هنا ...

nl2br() يضيف في <br /> لكل \n. وبعد لا تنس الهروب من المحتوى أولا، لمنع هجمات XSS. انظر أدناه:

<?php echo nl2br(htmlspecialchars($content)); ?>

نصائح أخرى

أتش تي أم أل وضع علامة على لغة. بغض النظر عن عدد الصادق الذي تضعه في التعليمات البرمجية المصدر، فلن ترى أي شيء منه في العرض التقديمي (بالطبع يفترض أنك لا تستخدم <pre> أو white-space:pre). يستخدم HTML <br> عنصر لتمثيل الاستراحة. لذلك أنت بحاجة بالفعل إلى تحويل الفراغ الحقيقية وغير المرئية التي تشير إليها الشخصيات xA (نيولاين، LINEFEED، LF، \nو / أو xD (عودة النقل، كر، \r) من قبل HTML <br> جزء.

في معظم لغات البرمجة، يمكنك القيام بذلك فقط سلسلة استبدال من "\n" بواسطة "<br>".

يمكنك التفاف في <pre> .. </pre>.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top