フロントの人の雑多メモ

【PHP】改行をpタグで挟む正規表現と関数のサンプル

【PHP】改行をpタグで挟む正規表現と関数のサンプル

Wordpressで改行を含む文字列をpタグ(段落)で挟んで出力したい

ということがあったので最低限な正規表現と関数のご紹介。

目次

シンプル

function br_to_p ($int){
	$int = str_replace(array("\r\n", "\r", "\n"), "\n", $int); //改行コードを\nに統一
	$array = explode("\n", $int); //\nで区切って配列に
	$str = '';
	foreach($array as $p){
		$str .= '<p>'.$p.'</p>'."\n"; //各要素をpで挟む
	}
	return $str; //出力
}

入力例

入力されたテキスト
改行を

pタグで挟みます

出力例

<p>入力されたテキスト</p>
<p>改行を</p>
<p></p>
<p>pタグで挟みます</p>

空白行がある場合、空のpタグになります。

これの良し悪しを判断するのはあなた次第

連続改行の処理

正規表現を使って空の行は排除したバージョンも載せておきます。

function br_to_p ($int){
	$int = str_replace(array("\r\n", "\r", "\n"), "\n", $int); //改行コードを\nに統一
	$array = preg_split("/\n+/", $int); //\nで区切って配列に
	$str = '';
	foreach($array as $p){
		$str .= '<p>'.$p.'</p>'."\n"; //各要素をpで挟む
	}
	return $str; //出力
}

入力例

入力されたテキスト
改行を

pタグで挟みます

出力例

<p>入力されたテキスト</p>
<p>改行を</p>
<p>pタグで挟みます</p>

コメント

「私の環境では違った!」「もっと上手い方法がある」などありましたら、お気軽に送信ください。

内容を確認の上、個人情報などは省いて掲載させていただきます。

直接送信されます。確認の上、「送信」してください。

シェア

Twitterでシェア Facebookでシェア LINEでシェア はてなブックマークでシェア