1

改行文字を HTML 改行に変換する場合 ( <br>)

使うクリーナーとは?

str_replace(array("\r\n", "[br]", "\r"), '<br>', $Content);

また

str_replace("\r\n", '<br>', $Content);
str_replace("[br]", '<br>', $Content);
str_replace("\r", '<br>', $Content);

私は前者の方法を使ってきましたが、私の友人は、私が現在使用している方法の方が処理が雑だと言いました。

関数でフォーマットを使用しています。それで

function Formatting ($Content)
{
 $Content = str_replace(array("\r\n", "[br]", "\r"), '<br>', $Content);
 return $Content;
}
4

2 に答える 2

1

私はこれを自分で微調整します(マニュアルページhttp://php.net/manual/en/function.nl2br.phpのユーザーノートから:

<?php
/**
 * Converts newlines and break tags to an
 * arbitrary string selected by the user,
 * defaults to PHP_EOL.
 *
 * In the case where a break tag is followed by
 * any amount of whitespace, including \r and \n,
 * the tag and the whitespace will be converted
 * to a single instance of the line break argument.
 *
 * @author Matthew Kastor
 * @param string $string
 *   string in which newlines and break tags will be replaced
 * @param string $line_break
 *   replacement string for newlines and break tags
 * @return string
 *   Returns the original string with newlines and break tags
 *   converted
 */
function convert_line_breaks($string, $line_break=PHP_EOL) {
    $patterns = array(   
                        "/(<br>|<br \/>|<br\/>)\s*/i",
                        "/(\r\n|\r|\n)/"
    );
    $replacements = array(   
                            PHP_EOL,
                            $line_break
    );
    $string = preg_replace($patterns, $replacements, $string);
    return $string;
}
?>
于 2012-11-28T03:12:25.350 に答える
0

ダゴンのコメントに応えて、彼の提案は完全に機能しました。nl2br() を使用してこのタスクを実行するために新しい関数を作成する必要はありません

http://php.net/manual/en/function.nl2br.php

于 2012-11-28T03:13:44.537 に答える