WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:折り返し処理どうしてますか?

0:[投稿] 29歳からのPerl [2002/10/01 00:25 ][環境:WIN+IE WIN系+Perl]

現在、掲示板用のエンジンを作り変えています。
そこで、文字列の折り返しを、どうするか悩んでいるのです。
新しいといっても、できれば今までのログデータは生かしたいのです。
みなさんは、どのように処理しているのでしょうか?

大別して、以下の2種類を処理したいのです。
a)ANKが連続
XXXXXXXXXXXXXXX...XXX...  <- これが続く
b)オートリンクのアドレスが長い
<a href="http://www.yahoo.co.jp/a/b/c.html?xxx...(長い)...xxx">http://..(前のアドレスと同じ)...</a>

a)は別として、b)は意味があり正確に折り返したいのです。
文字列の中には、&xxx;があるし・・・

方法として、
1)あきらめる
欠点:あきらめきれない点
2)記録時に<wbr>(or <br>)を埋め込む
欠点:これまでのデータに対処できない、(オリジナルにないところで改行が)
3)表示時に<wbr>(or <br>)を埋め込む
欠点:そこそこ重くなる
4)スタイルシートのword-breakで
欠点:一部の文字が折り返してくれない、一部のブラウザという点
5)1〜4の組み合わせ
欠点:じゃまくさい、意味ある組み合わせがない


サーバーの負荷を考え、4)にしようと思ってるのですが、
サーバーにやさしい、良い方法はないでしょうか?

よろしくお願いします。


1:[回答] JTR [2002/10/03 10:15 ]

>4)スタイルシートのword-breakで
IE独自?
それとも、CSS3?

ちなみに、私は40過ぎからperlをはじめました。


2:[保留] 29歳からのPerl [2002/10/06 15:21 ]

今、読み返してみて、わかりにくに文章でしたね。

現在、IE独自で、
td { word-break:break-all; }
* { word-break:break-all; }
などをメインに対処しようと考えてます。

悪意がなければ、これで殆ど解決なんですが、
人気のお客さんサイトで使う場合、
いろいろな人が、いろいろと穴を突かれるので神経質になってしまうところがあります。
その上で、軽さも要求されますし。

悪さの多いと想定されるサイトは、
sub fold {
...
for ( $i = 0; $i < $len; $i++ ) {
   $char1 = substr($_[0], $i, 1);
   ...
}
というような重い処理で折り返しを処理してます。
それで、いい方法がないかと検討しております。


>JTRさん
管理人さんですよね。
お世話になっております。
これからも、よろしく。
「40過ぎから」ですか!
なんか勇気付けられます。


3:[回答] [2002/10/06 16:01 ]

>>1
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/wordbreak.asp

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World