Hướng dẫn print new line php - in dòng php mới

(Php 4, Php 5, Php 7, Php 8)

NL2BR - Chèn dòng HTML bị hỏng trước tất cả các dòng mới trong một chuỗiInserts HTML line breaks before all newlines in a string

Sự mô tả

NL2BR (Chuỗi $ chuỗi, bool $ use_xhtml = true): Chuỗi(string $string, bool $use_xhtml = true): string

Thông số

sợi dây

Chuỗi đầu vào.

use_xhtml

Có sử dụng đường thẳng tương thích XHTML hay không.

Trả về giá trị

Trả về chuỗi bị thay đổi.

Ví dụ

Ví dụ #1 sử dụng nl2br ()nl2br()

echo nl2br("foo isn't\n bar");
?>

Ví dụ trên sẽ xuất ra:

Ví dụ #2 Tạo đánh dấu HTML hợp lệ bằng tham số USS_XHTML

echo nl2br("Welcome\r\nThis is my HTML document"false);
?>

Ví dụ trên sẽ xuất ra:

Ví dụ #2 Tạo đánh dấu HTML hợp lệ bằng tham số USS_XHTML

Chào mừng đây là tài liệu HTML của tôi

$string "This\r\nis\n\ra\nstring\r";
echo 
nl2br($string);
?>

Ví dụ trên sẽ xuất ra:

Ví dụ #2 Tạo đánh dấu HTML hợp lệ bằng tham số USS_XHTML

Chào mừng đây là tài liệu HTML của tôi

  • Ví dụ #3 Các phân tách dòng khác nhau
  • Đây là một chuỗi
  • Xem thêm
  • HTMLSPECIALCHARS () - Chuyển đổi các ký tự đặc biệt thành các thực thể HTML

HTMLENTITY () - Chuyển đổi tất cả các ký tự áp dụng thành các thực thể HTML

WordWrap () - Kết thúc một chuỗi thành một số ký tự đã cho

str_replace () - Thay thế tất cả các lần xuất hiện của chuỗi tìm kiếm bằng chuỗi thay thế

CGAMEPROGRAMmer tại gmail dot com ¶

$Result = str_replace( "\n", '
'
, $Text );
?>

Ví dụ trên sẽ xuất ra:

Ví dụ #2 Tạo đánh dấu HTML hợp lệ bằng tham số USS_XHTML

Chào mừng đây là tài liệu HTML của tôi
the best solution (IMO) is:

Ví dụ #3 Các phân tách dòng khác nhau
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

Đây là một chuỗi

Xem thêm

HTMLSPECIALCHARS () - Chuyển đổi các ký tự đặc biệt thành các thực thể HTML

HTMLENTITY () - Chuyển đổi tất cả các ký tự áp dụng thành các thực thể HTML

WordWrap () - Kết thúc một chuỗi thành một số ký tự đã cho
/**
* 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

str_replace () - Thay thế tất cả các lần xuất hiện của chuỗi tìm kiếm bằng chuỗi thay thế

CGAMEPROGRAMmer tại gmail dot com ¶

17 năm trước
/**
* 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 )

Điều quan trọng cần nhớ là chức năng này không thay thế Newlines bằng các thẻ. Thay vào đó, nó chèn một thẻ trước mỗi dòng mới, nhưng nó vẫn tự bảo tồn các dòng mới! Điều này gây ra vấn đề cho tôi về một chức năng tôi đang viết - tôi quên mất các dòng mới vẫn đang được bảo tồn.
/**
* 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);
}
?>

Nếu bạn không muốn Newlines, hãy làm:

ngkongs tại gmail dot com

15 năm trước

Để thay thế tất cả các lỗi thành giải pháp tốt nhất (IMO) là:
\r\n
php > echo nl2br("\r\n");

Vì mỗi hệ điều hành có ASCII chars khác nhau cho LineBreak: windows = \ r \ n unix = \ n mac = \ r

Hoạt động hoàn hảo cho tôi

N/a ¶

13 năm trước

function br2nl($text)
{
    return 
preg_replace('//i', '', $text);
}
?>

Ví dụ trên sẽ xuất ra:

Ví dụ #2 Tạo đánh dấu HTML hợp lệ bằng tham số USS_XHTML

Chào mừng đây là tài liệu HTML của tôi

Ví dụ #3 Các phân tách dòng khác nhau
$string_with_paragraphs
= "

".implode("

", explode("\n", $string))."

";
?>

By exploding on new lines & adding end & begin for p, it's easy to concat with

.

Đây là một chuỗi

function nl2p($string) {
    return
$string_with_paragraphs = "

".implode("

", explode("\n", $string))."

";
}
?>

Ví dụ trên sẽ xuất ra:

Ví dụ #2 Tạo đánh dấu HTML hợp lệ bằng tham số USS_XHTML

Chào mừng đây là tài liệu HTML của tôi
test line number 1
test line number 2

Ví dụ #3 Các phân tách dòng khác nhau

Đây là một chuỗi
$lines = explode("
",$input_from_text_field);

Xem thêm

HTMLSPECIALCHARS () - Chuyển đổi các ký tự đặc biệt thành các thực thể HTML

HTMLENTITY () - Chuyển đổi tất cả các ký tự áp dụng thành các thực thể HTML

WordWrap () - Kết thúc một chuỗi thành một số ký tự đã cho

function nl($string) {
  if(isset(
$_SERVER['SHELL'])) return preg_replace('/\/i', PHP_EOL, $string);
  return
nl2br($string);
}

Ví dụ trên sẽ xuất ra:

Ví dụ #2 Tạo đánh dấu HTML hợp lệ bằng tham số USS_XHTML("One\nTwo
Three\r\nFour
Five
Six"
. PHP_EOL);
?>

Chào mừng đây là tài liệu HTML của tôi

Ví dụ #3 Các phân tách dòng khác nhau

Đây là một chuỗi
Both work nice with different ASCII chars for linebreak, but the function nl2br2 is faster than nl2br.

Xem thêm
nl2br  ~ 0.0011141300201 s

HTMLSPECIALCHARS () - Chuyển đổi các ký tự đặc biệt thành các thực thể HTML
function nl2br2($string) {
 
$string = str_replace(array("\r\n", "\r", "\n"), "
"
, $string);
  return
$string;
}
?>

HTMLENTITY () - Chuyển đổi tất cả các ký tự áp dụng thành các thực thể HTML

Ví dụ #3 Các phân tách dòng khác nhau

Đây là một chuỗi
"u" flag treate strings as UTF-16. Which is optional, depending on your use case.

Xem thêmpublic 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.

HTMLSPECIALCHARS () - Chuyển đổi các ký tự đặc biệt thành các thực thể HTML
// nl2br()function nl2br_str($string) {
  return
str_replace(["\r\n", "\r", "\n"], '
'
, $string);
}

HTMLENTITY () - Chuyển đổi tất cả các ký tự áp dụng thành các thực thể HTML

WordWrap () - Kết thúc một chuỗi thành một số ký tự đã cho($string)
{
  return
preg_replace('/\R/u', '
'
, $string);
}

HTMLENTITY () - Chuyển đổi tất cả các ký tự áp dụng thành các thực thể HTML

nl2br_preg_rnnr($string)
{
  return
preg_replace('/(\r\n|\n|\r)/', '
'
, $string);
}
?>

# nl2br
## Time: 0.02895712852478 s

WordWrap () - Kết thúc một chuỗi thành một số ký tự đã cho
## Time: 0.027923107147217 s

str_replace () - Thay thế tất cả các lần xuất hiện của chuỗi tìm kiếm bằng chuỗi thay thế
## Time: 0.13350105285645 s

CGAMEPROGRAMmer tại gmail dot com ¶
## Time: 0.14213299751282 s

17 năm trước

Điều quan trọng cần nhớ là chức năng này không thay thế Newlines bằng các thẻ. Thay vào đó, nó chèn một thẻ trước mỗi dòng mới, nhưng nó vẫn tự bảo tồn các dòng mới! Điều này gây ra vấn đề cho tôi về một chức năng tôi đang viết - tôi quên mất các dòng mới vẫn đang được bảo tồn.

Nếu bạn không muốn Newlines, hãy làm:

ngkongs tại gmail dot com(INPUT_POST, 'text', FILTER_SANITIZE_SPECIAL_CHARS); ?> returns newlines as  and so nl2br will miss them.

15 năm trước(INPUT_POST, 'text', FILTER_SANITIZE_STRING); ?> and newlines will remain intact so nl2br will pick them up.

blacknine313 tại gmail dot com ¶

14 năm trước

Sau một bài đăng gần đây tại Diễn đàn về Dev Shed, tôi nhận thấy rằng nó không được đề cập, vì vậy tôi sẽ đề cập đến nó.

NL2BR trả về HTML thuần túy, vì vậy nó phải là sau các hàm chống HTML PHP (như Strip_Tags và HTMLSpecialchars).

darenschwenke tại yahoo dot com ¶

8 năm trước

Cái này hoạt động với các thẻ BR có thuộc tính, trong mọi trường hợp, đã đóng hoặc & nbsp; chưa đóng và không có hai dòng
closed or  not closed, and does not double linefeeds

Tôi kết hợp điều này với dải_tags () cho các trường "có thể hài lòng" đơn giản cho phép chỉ cho phép văn bản và đường dẫn.
/**
* convert br tags to nl
*
* @param string The string to convert
* @return string The converted string
*/
function br2nl($string)
{
    return
preg_replace("/]*>\s*\r*\n*/is", "\n", $string);
}
?>

I combine this with strip_tags() for dead simple "contenteditable" fields allowing only text and linefeeds.

J dot mons54 tại gmail dot com ¶

10 năm trước

Đối với BBCode:

$message nl2br(preg_replace('#(\\]{1})(\\s?)\\n#Usi', ']', stripslashes($message)));
?>

hyponiq tại gmail dot com

15 năm trước

Ngược lại, Mark tại dreamjunky.comno-spam, chức năng này được đặt tên đúng. & Nbsp; Cho phép tôi giải thích. & Nbsp; Mặc dù nó thực hiện lại việc phá vỡ dòng, nhưng trong nỗ lực duy trì các tiêu chuẩn tuân thủ các đề xuất W3C cho định dạng mã.

Theo các khuyến nghị đã nói, một ký tự dòng mới phải tuân theo thẻ phá vỡ dòng. & NBSP; Trong tình huống này, dòng mới không bị xóa, nhưng thẻ ngắt được thêm vào cho màn hình trình duyệt thích hợp nơi một đoạn văn không cần thiết hoặc mong muốn.