• ベストアンサー

タグの中だけ改行を除去したい

HTMLを解析するプログラムを作成しています。 HTMLタグを正しく認識するために、下記のようにして、HTMLタグの中("<" と ">" に囲まれた範囲)の改行コードを除去するようにしました。 $html = preg_replace ("/[\t\r\n]/"," ",$html); これで一応動作するようになったのですが、HTMLタグでない文章のほうも、改行がすべてなくなってしまうので、HTMLソースが見づらくなってしまいました。 HTMLタグの中だけ置換が有効になるようにしたいのですが、良い方法はありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

preg_replace は使い慣れていないので ereg_replace で while(ereg("(<[^>]*)[\t\r\n]",$html)){ $html = ereg_replace("(<[^>]*)[\t\r\n]","\\1",$html); } こんなものでいかがでしょうか。

haru44
質問者

お礼

どうもありがとうございました。 参考になりました。

関連するQ&A