• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:php でtabを空白に変換して表示する方法)

phpでtabを空白に変換して表示する方法

このQ&Aのポイント
  • $str = <<< DOC_END01 <script language="JavaScript"> function changeText01(){ __$("#about01").html("表示テスト"); } </script> DOC_END01; echo nl2br(htmlspecialchars($str)); で、javascriptを表示するとき このままだと、tab 上記「_」が削除されてしまいます。
  • tabを空白などに変換して表示するにはどうしたらよいのでしょうか。
  • echo nl2br(htmlspecialchars(ereg_replace('/\t/', ' ',$str))); echo nl2br(htmlspecialchars(str_replace('\t', ' '$str)))); などとしてもだめでした。 よろしくお願いいたします。

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

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

削除はされないと思います ただHTMLではタブ、スペース、改行は表示されないですね htmlspecialcharsした後に&nbsp;に変換したらどうでしょう

rqg2010
質問者

お礼

php504さん、今日は。 早速レスありがとうございます。 >削除はされないと思います この指摘をたよりに更に色々と試してみました。 echo str_replace("\t", '&nbsp;&nbsp;&nbsp;&nbsp;',nl2br(htmlspecialchars($str))); でできました。 シングルクオーテーション’¥t’でなく、ダブルクオーテーション”¥t”でした。 どうもアドバイスありがとうございました。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4900/10361)
回答No.3

他の方の回答と同じですが、ブラウザで「ソースを見る」だと、タブがあるはずです。 そのタブがブラウザ画面上で期待通りに表示されていないとしたら、「これこれこういう表示にしたいが、どういうHTMLを書いたらいいか」というHTMLの問題になります。 <pre> ~ </pre> で囲むのが簡単か。

rqg2010
質問者

お礼

notnotさん、今日は。 早速アドバイスありがとうございます。 ><pre> ~ </pre> で囲むのが簡単か。 その通りでした。 思いつきませんでした。 tabの文字数が、半角8文字となってしまいますが。 どうもありがとうございました。

回答No.2

質問の意図がはっきりしているようにみえて実はあいまいという、特殊な質問に感じました。 ぱっと見、この質問にある現象は何も問題ないように見えます。 一般に、連続する空白文字(半角スペースやタブ、改行文字など)は、ブラウザで見ると空白1つに見えます。 テキストエディタで見れば、省略されずそのまま見えます。 また、上記__は、ブラウザで見れば表示されません。 テキストエディタで見れば表示されます。 もしかしてブラウザで見たとき"表示テスト"の前にいくらかスペースがほしいということでしょうか。 そうであればスタイルシートを使ったほうが良いでしょう。margin-leftとか。 そこで確認なのですが、何が問題なのでしょう。具体的に何に困っているんでしょう。 細かいこと突っつくようですが、どうしてトラブルを抱えていると思ったのでしょうか。 そこをはっきりさせましょう。そのほうが解決にしっかりと近づいていけると思います。

rqg2010
質問者

お礼

honoka-chaさん、今日は。 どうもアドバイスありがとうございます。 >何が問題なのでしょう。 javascriptをテキストエディタで編集してそのスクリプトを実行すると同時に、テキストエディタで編集しているイメージ通り段下げをしてブラウザで表示しようと思いました。 その、表示の方が思うようにいかなくて質問をさせていただきました。

関連するQ&A