فواصل الأسطر القبض على (السطر الجديد، سطر تغذية) الأحرف في جزء النص
-
08-07-2019 - |
سؤال
ولدي نموذج مع <textarea>
وأريد أن القبض على أي فواصل الأسطر في أن جزء النص على جانب الخادم، واستبدالها <br/>
.
هل هذا ممكن؟
وحاولت وضع white-space:pre
على CSS لtextarea
، ولكنها لا تزال غير كافية.
المحلول
وإلقاء نظرة على nl2br()
وظيفة. يجب أن تفعل بالضبط ما تريد.
نصائح أخرى
nl2br()
وظيفة موجودة لتفعل بالضبط هذا:
ولكن، هذه الوظيفة يضيف علامات ر ولكن لا فعلا إزالة خطوط جديدة - وهذا عادة ليست قضية، ولكن إذا كنت ترغب في تجريدهم تماما والصيد النقل يعود كذلك، يجب عليك استخدام <أ href = ل "http://php.net/str_replace" يختلط = "noreferrer"> str_replace
أو preg_replace
وأعتقد str_replace سيكون أسرع قليلا لكني لم قياسها؛
$val = str_replace( array("\n","\r","\r\n"), '<br />', $val );
أو
$val = preg_replace( "#\n|\r|\r\n#", '<br />', $val );
إذا كنت تنوي استخدام str_replace
أو preg_replace
، ربما يجب عليك وضع "\r\n"
في بداية المصفوفة، وإلا سيتم ترجمة سلسلة \r\n
إلى قسمين علامات <br/>
(منذ سوف تكون مطابقة \r
، ثم \n
سوف تكون مطابقة).
وعلى سبيل المثال:
$val = str_replace( array("\r\n", "\n","\r"), '<br />', $val );
أو
$val = preg_replace( "#\r\n|\n|\r#", '<br />', $val );
لأولئك الذين يريدون جوابا التي لا تعتمد على nl2br()
:
$newList = ereg_replace( "\n",'|', $_POST['theTextareaContents']);
وأو (في هذه الحالة):
$newList = ereg_replace( "\n",'<br/>', $_POST['theTextareaContents']);
وPHP الجانبية: من سلسلة ناحية النص إلى PHP سلسلة
$newList = ereg_replace( "\n",'|', $_POST['theTextareaContents']);
وPHP الجانبية: PHP سلسلة إلى سلسلة ناحية النص:
$list = str_replace('|', ' ', $r['db_field_name']);