Nl2br php обратная функция

Nl2br php обратная функция

Профиль
Группа: Участник
Сообщений: 234
Регистрация: 22.11.2010

Профиль
Группа: Участник
Сообщений: 234
Регистрация: 22.11.2010

Цитата
function convert_html_to_bb($description)$description=nl2br($description);

Это сообщение отредактировал(а) phpsc — 23.1.2011, 00:51

Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Профиль
Группа: Участник
Сообщений: 1
Регистрация: 14.11.2012

оно в принципе, правильно, но не всегда. Если задача просто заменить на \n, то верно. Если же вы текст конвертировали с помощью nl2br и Вам надо конвертировать его обратно, то сработает некорректно.

nl2br заменяет «\n» на «
\n», соответственно в результате обратного конвертирования получим \n\n, т.е. +1 лишнюю строку.

в данном случае коректнее будет либо

в зависимости от ситуации

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET
  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь
  • Темы «ищу скрипт», «подскажите скрипт» и т.п. будут переноситься в форум «Web-технологии»
  • Темы с именами: «Срочно», «помогите», «не знаю как делать» будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, [email protected] , skyboy, SamDark, MoLeX, awers.

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »

[ Время генерации скрипта: 0.0981 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Источник

Переносы строк и тег BR в PHP

В PHP за перенос текста отвечают управляющие символы \r (возврат каретки) и \n (перевод строки), причем в разных операционных системах (на которых работает сервер) они применяются в разных комбинациях:

Поэтому в место распространенного \r\n рекомендуется использовать константу PHP_EOL для кроссплатформенности кода.

Замена переносов строк на BR

С помощью функции str_replace() :

$text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin blandit magna eu tempus ullamcorper. Sed porta justo sed nibh elementum condimentum."; $text = str_replace(PHP_EOL, '
', $text); echo $text;

Результат:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Proin blandit magna eu tempus ullamcorper.
Sed porta justo sed nibh elementum condimentum.

Функция nl2br() добавляет тег
, но оставляет символы переносов строк.

$text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin blandit magna eu tempus ullamcorper. Sed porta justo sed nibh elementum condimentum."; $text = nl2br($text, false); echo $text;

Результат:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Proin blandit magna eu tempus ullamcorper.
Sed porta justo sed nibh elementum condimentum.

Если через функцию nl2br() пропустить текст несколько раз, то количество
с каждым разом будет увеличиваться и получится следующий результат:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Proin blandit magna eu tempus ullamcorper.

Sed porta justo sed nibh elementum condimentum.

Чтобы этого избежать нужно перед вызовом nl2br() применять обратную функцию br2nl() :

function br2nl($text) < return preg_replace('//i', '', $text); >

Удаление лишних тегов

Удаление
в начале строки

$text = '

Тег
в начале строки.'; $text = preg_replace('/^()+/i', '', $text); echo $text;

Результат:

Удаление
в конце строки

$text = 'Тег 
в конце строки.

'; $text = preg_replace('/()+$/i', '', $text); echo $text;

Результат:

Удаление
перед закрывающим тегом

$text = '

Лишний
в конце параграфа. '; $text = preg_replace('/()+([\s+])?()$/i', '$3', $text); echo $text;

Результат:

Еще момент, обычно в WYSIWYG редакторах пустая строка выполняется элементом

 

, следующий код удаляет данные переносы в конце текста.

$text = ' 

Пустые строки в конце текста.

 

 

'; $text = preg_replace('/(

 [\s+]?)+$/i', '', $text); $text = trim($text); echo $text;

Результат:

Пустые строки в конце текста.

Удаление повторяющихся

$text = 'Текст

с

множеством

переносовстрок.'; $text = preg_replace('/()/i', '
', $text); echo $text;

Результат:

Текст
с
множеством
переносов
строк.

Источник

nl2br

Returns string with
or
inserted before all newlines ( \r\n , \n\r , \n and \r ).

Parameters

Whether to use XHTML compatible line breaks or not.

Return Values

Returns the altered string.

Examples

Example #1 Using nl2br()

The above example will output:

Example #2 Generating valid HTML markup using the use_xhtml parameter

The above example will output:

Welcome 
This is my HTML document

Example #3 Various newline separators

The above example will output:

See Also

  • htmlspecialchars() — Convert special characters to HTML entities
  • htmlentities() — Convert all applicable characters to HTML entities
  • wordwrap() — Wraps a string to a given number of characters
  • str_replace() — Replace all occurrences of the search string with the replacement string

User Contributed Notes 17 notes

It’s important to remember that this function does NOT replace newlines with
tags. Rather, it inserts a
tag before each newline, but it still preserves the newlines themselves! This caused problems for me regarding a function I was writing — I forgot the newlines were still being preserved.

If you don’t want newlines, do:

to replace all linebreaks to

the best solution (IMO) is:

function nl2br2 ( $string ) <
$string = str_replace (array( «\r\n» , «\r» , «\n» ), «
» , $string );
return $string ;
>
?>

because each OS have different ASCII chars for linebreak:
windows = \r\n
unix = \n
mac = \r

/**
* Convert BR tags to nl
*
* @param string The string to convert
* @return string The converted string
*/
function br2nl ( $string )
return preg_replace ( ‘/\/i’ , «\n» , $string );
>
?>

Enjoy

Starting from PHP 4.3.10 and PHP 5.0.2, this should be the most correct way to replace
and
tags with newlines and carriage returns.
/**
* Convert BR tags to newlines and carriage returns.
*
* @param string The string to convert
* @return string The converted string
*/
function br2nl ( $string )
return preg_replace ( ‘/\/i’ , PHP_EOL , $string );
>
?>
(Please note this is a minor edit of this function: http://php.net/nl2br#86678 )

You might also want to be «platform specific», and therefore this function might be of some help:
/**
* Convert BR tags to newlines and carriage returns.
*
* @param string The string to convert
* @param string The string to use as line separator
* @return string The converted string
*/
function br2nl ( $string , $separator = PHP_EOL )
$separator = in_array ( $separator , array( «\n» , «\r» , «\r\n» , «\n\r» , chr ( 30 ), chr ( 155 ), PHP_EOL )) ? $separator : PHP_EOL ; // Checks if provided $separator is valid.
return preg_replace ( ‘/\/i’ , $separator , $string );
>
?>

double quotes !== single quotes

Seeing all these suggestions on a br2nl function, I can also see that neither would work with a sloppy written html line break.. Users can’t be trusted to write good code, we know that, and mixing case isn’t too uncommon.

I think this little snippet would do most tricks, both XHTML style and HTML, even mixed case like and even
or
.

This is example with «\R» regex token which matches any unicode newline character.
«u» flag treate strings as UTF-16. Which is optional, depending on your use case.

public function nl2br ( $string )
return preg_replace ( ‘/\R/u’ , ‘
‘ , $string );
>

?>

NOTE:
preg_replace versions are much slower than using str_replace version or built-in nl2br.
Check out pcre.backtrack_limit php.ini setting for information about PCRE limit. It’s good to know.

function nl2br_str ( $string ) return str_replace ([ «\r\n» , «\r» , «\n» ], ‘
‘ , $string );
>

function nl2br_preg_R ( $string )
return preg_replace ( ‘/\R/u’ , ‘
‘ , $string );
>

function nl2br_preg_rnnr ( $string )
return preg_replace ( ‘/(\r\n|\n|\r)/’ , ‘
‘ , $string );
>

?>

# nl2br
## Time: 0.02895712852478 s

# nl2br_str
## Time: 0.027923107147217 s

# nl2br_preg_R
## Time: 0.13350105285645 s

# nl2br_preg_rnnr
## Time: 0.14213299751282 s

Источник

Есть функция обратная nl2br?

есть ли стандартная функция, обратная array_count_values?
Здравствуйте. Мне нужна функция, чтобы из массива Array ( => 1 => 2 .

nl2br
Если обрабатываем строку, всё работает как надо, но мне нужно обработать строку после функции.

Обратная функция ValToBinaryArr
Всем привет. Есть вот такая функция: function ValToBinaryArr($Val, $Len) < .

Есть ли функция обратная List?
В postgresql есть такая функция regexp_split_to_table(строка text, шаблон text ) — Разбивает.

 /** * Convert BR tags to nl * * @param string The string to convert * @return string The converted string */ function br2nl($string) { return preg_replace('/\/i', "\n", $string); }

ЦитатаСообщение от khrustal Посмотреть сообщение

$br = 'text 
text
text
text
!'
; $nl = preg_replace('##i', "\n", $br);

Lazy_Den, Dolphin, спасибо за быструю реакцию!
А как правильнее писать «\n» or «\r\n» or maybe «\n\r»?
Нужно чтобы после изменений текст правильно показывался в .
И еще одно, кажется nl2br не очень корректно работает, бреки умножаются после каждого показа в или последующего send-a. Это известный эффект?
Если написать собственнуэ функцию
nl2brmy , то как составить правильный шаблон для preg_replace ?

ЦитатаСообщение от khrustal Посмотреть сообщение

ЦитатаСообщение от khrustal Посмотреть сообщение

function nl2brmy($str){ return str_replace(array("\r\n", "\r", "\n"), "
"
, $str); ; }

Источник

Nl2br php обратная функция

Сообщения

Сообщения

Комментарии

Комментарии

Популярные сообщения

bash скрипт использующий API ВК без авторизации: #!/bin/bash sys_version=»0.3b» sys_method=’audio.search’ sys_tem.

jQuery: Обнаружение изменения ориентации экрана $ ( window ). bind ( ‘orientationchange’ , function ( event ) < s.

Навигация по страницам для сайта на PHP Функция постраничной навигации:

Эмуляция CURLOPT_FOLLOWLOCATION когда появляется ошибка CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir i.

AutoLogin to website from panel of bookmarks on Javascript: Автоматическая авторизация на сайте через яваскрипт код из панели закладок. .

Запросы на выборку из таблицы Самыми распространенными и простыми запросами SQL в базе данных являются запросы на выборку. Отличают их.

At the start of working with MySQLi on PHP we must create connection: $mysqli = new mysqli(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME) or die(&.

You can see Macros for Excel on VBA for copy only values. Hidden rows will be copied too, because here we are not control it, but You can.

Брут (подбор) пароля по md5 php скриптом // Устанавливаем неограниченное время выполнения скрипта set_time_limit(0); // Читаем .

Источник

Читайте также:  PHP Program to show current page URL
Оцените статью