【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>
コメント
「私の環境では違った!」「もっと上手い方法がある」などありましたら、お気軽に送信ください。
お役に立てましたら応援をお待ちしております!
頂いた応援は子育てに活用させていただきます。
または以下のボタンからなにか買って応援 (PR)
Amazon
楽天市場
Yahoo!ショッピング