※ ChatGPTを利用し、要約された質問です(原文:preg_replaceでの正規表現による空行削除)
preg_replaceでの正規表現による空行削除
このQ&Aのポイント
preg_replaceを使用して、正規表現を使って空行を削除する方法が分かりません。
<p>タグ内のテキストのみを抜き出し、HTMLソース内の空行を削除する方法を教えてください。
また、<p>タグではなくHTMLコメントタグを使用してテキストを抜き出す方法も教えてください。
preg_replaceでの正規表現による空行削除
<p>タグ部分だけを抜き出し除去したhtmlを出力表示したのですが、
HTMLソース内に<p>タグを抜き出した部分に3行づつ空白があきます。
どうしても解決できません。助けて下さい。
ちなみに、<p>ではなくHTMLコメントタグとして
<!--ここから-->タグか文章<!--ここまで-->と表現する場合も教えて下さい。
----------------------------------------------------
$contents = <<<_HTML_
<div>DIVエリア/NO.1
<h1>1行目のH1タグ</h1>
<h2>2行目のH2タグ</h2>
<h3>3行目のH3タグ</h3>
<p>4行目Pタグ</p>
<p>5行目Pタグ</p>
<p>6行目Pタグ</p>
</div>
<div>DIVエリア/NO.2
<h1>1行目のH1タグ</h1>
<h2>2行目のH2タグ</h2>
<h3>3行目のH3タグ</h3>
<p>4行目Pタグ</p>
<p>5行目Pタグ</p>
<p>6行目Pタグ</p>
</div>
_HTML_;
echo preg_replace(\'!<p>.*?</p>\\n*!i\', \'\', $contents);
-----------------------------------------------------
補足
$contents = <<<_HTML_ <div>DIVエリア/NO.1 <h1>1行目のH1タグ</h1> <h2>2行目のH2タグ</h2> <h3>3行目のH3タグ</h3> <p>4行目Pタグ</p> <p>5行目Pタグ</p> <p>6行目Pタグ</p> <!--DEL--><p>7行目Pタグ</p><!--/DEL--> _HTML_; こんな感じでコメントタグで<!--DEL-->~<!--/DEL-->の範囲を除去する正規表現方法なのですが、説明が悪くてすいませんが、お願いします。