「topic内の自動改行」の編集履歴(バックアップ)一覧はこちら
「topic内の自動改行」(2006/10/23 (月) 23:38:09) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
***10月23日更新分:
これで囲みます→nl2br( ... )
現在:<?php echo $row_rsAmazonz2['topic']; ?>
変更後:<?php echo nl2br($row_rsAmazonz2['topic']); ?>
view.php 82行目くらい
admin.php 240行目くらい
del.php 120行目くらい
preもCSSもすべて消してください… >┼○ バタッ
一応引用 6-5 190ページ
>改行と改行タグを関連付けるPHP関数に、nl2br関数があります。
>この関数を使うと、指定された文字列中の改行を改行タグに変換します。
>この作業は次のファイルに対して行います。
>view.php
>admin.php
>del.php
>改行が反映されない原因は、入力した改行と改行タグが異なるためです。
>テキスト領域から入力する改行はWindowsの例では改行文字「CRLF」であり、ブラウザに表示するときの改行は改行タグ「<br>」です。よって、入力した改行を改行タグに変更する必要があります。
<?php echo $row_rsAmazonz2['topic']; ?>
>$row_rsAmazonz2['topic']としてそのまま表示されているtopicフィールドが改行を反映するように、ステップ1ではnl2br関数を使ってtopicフィールドの値を変換するように変更します。
>ステップ2、ステップ3は前節の最終更新時刻の書式設定と同様に、処理をユーザ定義関数として定義してPHPから呼び出すための修正を行います。
----
***以下無かった事に。
自動改行
topic(記事本文)内の自動改行についてです。
タグは普通に使えるので、brタグでも改行できますが、エンターでの改行が無視されています。
そこで、admin.phpとview.phpの2ファイルに、以下を追加します。
(1)CSS追加
>pre {
> white-space: -moz-pre-wrap;
> white-space: -pre-wrap;
> white-space: -o-pre-wrap;
> white-space: pre-wrap;
> word-wrap: break-word;
>}
[参考:http://javascript.g.hatena.ne.jp/tetsu23/20060731/1154334737]
(一応)CSSなので場所は、<!--の下です。
><html>
><head>
><meta http-e(略
><title>ログ表示</title>
><style type="text/css">
><!--
>pre { ... ...
(2)preタグ追加
レイアウトテーブルの{rsAmazonz2.topic}にpreタグを追加します。
><td><span class="style3"><pre><?php echo $row_rsAmazonz2['topic']; ?></pre></span></td>
以上により、ログ表示画面で自動改行が反映されます。
問題点として、CSSで外見を無理やり変えているだけなので、参考先のblogにもあるとおりレイアウトに問題が起こるかもしれません。
----
(一般的にはJavaScriptで自動改行しているようですが、うまく行かなかったので。
正規表現で切り替える?
[参考:http://m035.blog61.fc2.com/blog-entry-4.html]
***10月23日更新分:
これで囲みます→nl2br( ... )
現在:<?php echo $row_rsAmazonz2['topic']; ?>
変更後:<?php echo nl2br($row_rsAmazonz2['topic']); ?>
view.php 82行目くらい
admin.php 240行目くらい
del.php 120行目くらい
以上です。
preもCSSもすべて消してください… >┼○ バタッ
一応引用 6-5 190ページ
>改行と改行タグを関連付けるPHP関数に、nl2br関数があります。
>この関数を使うと、指定された文字列中の改行を改行タグに変換します。
>この作業は次のファイルに対して行います。
>view.php
>admin.php
>del.php
>改行が反映されない原因は、入力した改行と改行タグが異なるためです。
>テキスト領域から入力する改行はWindowsの例では改行文字「CRLF」であり、ブラウザに表示するときの改行は改行タグ「<br>」です。よって、入力した改行を改行タグに変更する必要があります。
<?php echo $row_rsAmazonz2['topic']; ?>
>$row_rsAmazonz2['topic']としてそのまま表示されているtopicフィールドが改行を反映するように、ステップ1ではnl2br関数を使ってtopicフィールドの値を変換するように変更します。
>ステップ2、ステップ3は前節の最終更新時刻の書式設定と同様に、処理をユーザ定義関数として定義してPHPから呼び出すための修正を行います。
----
***以下無かった事に。
自動改行
topic(記事本文)内の自動改行についてです。
タグは普通に使えるので、brタグでも改行できますが、エンターでの改行が無視されています。
そこで、admin.phpとview.phpの2ファイルに、以下を追加します。
(1)CSS追加
>pre {
> white-space: -moz-pre-wrap;
> white-space: -pre-wrap;
> white-space: -o-pre-wrap;
> white-space: pre-wrap;
> word-wrap: break-word;
>}
[参考:http://javascript.g.hatena.ne.jp/tetsu23/20060731/1154334737]
(一応)CSSなので場所は、<!--の下です。
><html>
><head>
><meta http-e(略
><title>ログ表示</title>
><style type="text/css">
><!--
>pre { ... ...
(2)preタグ追加
レイアウトテーブルの{rsAmazonz2.topic}にpreタグを追加します。
><td><span class="style3"><pre><?php echo $row_rsAmazonz2['topic']; ?></pre></span></td>
以上により、ログ表示画面で自動改行が反映されます。
問題点として、CSSで外見を無理やり変えているだけなので、参考先のblogにもあるとおりレイアウトに問題が起こるかもしれません。
----
(一般的にはJavaScriptで自動改行しているようですが、うまく行かなかったので。
正規表現で切り替える?
[参考:http://m035.blog61.fc2.com/blog-entry-4.html]