Thursday, February 22, 2018 04:07 am EST

Preserving Line Breaks Using Plain Text Processing for Drupal 7

Bri's picture

Have you ever wanted to use the plain text option under the "Text processing" selection for a textarea control on a form so that your users don't see the options that they get when you choose "Filtered text?"

Filtered text can be great in some cases. It gives the user the ability to choose the input format, such as filtered HTML, Full HTML, WYSIWYG, or any others you may have defined. However, chances are that if you are allowing for user submitted content, this only confused people, and for simple content types, plain text is probably sufficient. In my experience, the one thing I miss when going to plain text is the ability to preserve line breaks. Here is a small routine you can use and adapt in your theme's template.php file to preserve line breaks in textarea controls.

function [MY_THEME]_preprocess_field(&$variables, $hook) {
  if(($variables['element']['#field_type'] == 'text_long' || $variables['element']['#field_type'] == 'text_with_summary') && $variables['element']['#items'][0]['format'] == null) {
    $variables['items'][0]['#markup'] = nl2br($variables['items'][0]['#markup']);


Anonymous's picture

Filtered text is the best

Filtered text is the best option for users to understand the data. According to the rushanessay service, many blogs are giving more options for the users to choose the best text format. Users always choose filtered option for submitting the content.

Anonymous's picture

how to apply

i use the mayo theme

in which dir and in which file i should add this code ?

Bri's picture

It would go in the

It would go in the template.php file of your mayo theme. You would need to replace the [MY_THEME] part of the function name with "mayo" in your example.

Anonymous's picture


Exactly what I was looking for. Worked perfectly.

Anonymous's picture


Thanks, this is very usefull