كيف تظهر سطر جديد فقط باستخدام NL2BR؟
سؤال
انا استخدم nl2br()
لتحويل \n
الشخصيات إلى <br />
علامة لكني لا أريد أكثر من واحد <br />
علامة في وقت واحد. فمثلا، Hello \n\n\n\n Everybody
ينبغي أن تصبح Hello <br /> Everybody
.
كيف يمكنني أن أفعل هذا؟
المحلول
قد يكون النهج الأكثر مباشرة هو استبدال الخطوط الجديدة المتعددة أولاً باستخدام تعبير منتظم بسيط:
nl2br(preg_replace("/\n+/", "\n", $input));
نصائح أخرى
إذا كان لديك PHP 5.2.4+ ، يمكنك استخدام Preg_replace ونوع حرف المساحة البيضاء العمودية \v
$str = preg_replace('/\v+/','<br>', $str);
سأحاول استبدال الخطوط الجديدة المتكررة بخطوط جديدة واحدة باستخدام preg_replace () أولاً ، ثم باستخدام NL2BR للتحويل إلى HTML
العلامات. nl2br(preg_replace('/\n+/', '\n', $the_string))
يجب أن تفعل الخدعة (لم تختبر).
لا تنتمي إلى StackOverflow