![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
昨日に引き続いて連続質問になってしまい申し訳ありません
KENT WEBさんのWEB PATIOの改造版を利用しているのですが、文字数制限がされていない?為、名前を長くし更にトリップを付けられると、スレッド一覧がこちらの想定しているデザインと異なるレイアウトになってしまう事があります
Patio-FU
http://patio-fu.plavox.info/
スレッド一覧表示はそれほど小さくせず、table幅を800に固定しています
長い名前+トリップ をスレ主、最終レス者が重なると、タイトル爛が小さくなり、長くないタイトルのスレッドでも2列になってしまう事があります
文字数制限は、フォームのtextareaに文字数制限をつける事で、なんとかしようと思っています
ただ、やはりいくら制限した所で、トリップが着くとレイアウトが崩れてしまいます
そこで、スレッド一覧ではトリップを表示させないようにしたいのですが、どう改造していいのかも検討がつきません…
ログを見てみると、
<>やまだたろう◆Whe5Fvoki8o<>
と記述されているので、◆以降を表示させないようにする のだとは思うのですが、指定した文字以降を表示させなくする方法というものをいくら探しても見つける事ができませんでした
どなたか、ご教授頂けませんでしょうか?
よろしくお願い致します
No.4ベストアンサー
- 回答日時:
こんにちは
記事を3つのファイルに分けたりしてるみたいなので全部見てないですけど・・・
タイトルと名前には文字数制限がついているみたいですよ?
タイトル(maxlength=30)、名前(maxlength=20) {patio.cgi 553行目,569行目)
まぁ、確かに名前を長くしてトリップつけると半分(400)くらい使うみたいですけど・・・
スレッド一覧だけでトリップを表示しないのであれば
patio.cgiの117行目くらい
# スレッド表示
if ($p eq "") { $p=0; }
$i=0;
open(IN,"$nowfile") || &error("Open Error: $nowfile");
$top = <IN>;
while (<IN>) {
$i++;
next if ($i < $p + 1);
next if ($i > $p + $menu1);
($num,$sub,$res,$nam,$date,$na2,$key) = split(/<>/);
の後ろに
foreach($nam) { ($nam,$***) = split(/◆/);}
foreach($na2) { ($na2,$***) = split(/◆/);}
を入れ込むと表示しませんでした(***には適当になんか付けてください)
No.3
- 回答日時:
Patio-FUを見ていないので,参考程度にごらんいただければ・・。
◆以降を削除する(もしくは表示しないようにする)というのは結構面倒なのですが,
"◆が出現したらそれ以前の文字を表示する"ということであれば,下記のような方法で実現することができます。
下記はPerlでの例です。
#################################
# 変数に対象文字列を格納する。
$tmp = '<>やまだたろう◆Whe5Fvoki8o<>';
# 検索を行う。
$tmp =~ /.*?(?=◆)/;
print $&;
上記の検索を行っている部分ですが,
".*?"は
. は 任意の一文字
* は 0回以上の繰り返し
? は 最短マッチ
です。
また"(?=◆)"ですが,
Perlの参考書には"0文字幅の先読み言明"と書かれています(なんのこっちゃ)。説明しづらいのですが,"/たろう(?=◆)/"とした場合に"たろう"の直後に"◆"が続く"たろう"にマッチするのですが,マッチした結果に"◆"を含みたくないときに使います。
よって,上記の行は
「先頭から数えて一番最初に"◆"が出てくるまで検索をし,なおかつ検索結果には"◆"を含めない」
という検索になります。
$&という変数は"特殊変数"と言われるもので,マッチした文字列全体を出力するときに使います。
応用してみてください。
この回答への補足
解答ありがとうございます
教えて頂いた事を参考にして色々と調べてはいるのですが、うまくいかないままになっています…
もう少し調べてみようかとは思っているのですが、まだ未熟者ゆえ少しハードルがたかいです…
具体的な入れこみかたを知ってられる方がおられましたら、よろしくご教授願います
No.2
- 回答日時:
>スレッド単体で閲覧でする場合には、◆を含む、それ以降の文字を表示させたい
テンポラリーファイルを作ってみてはいかがでしょうか?テキストやDBにデータを保存し、そこから読み出し、必要であれば削除 という形でうまくいくと思います。
学生なので簡単なやり方しか思いつきません・・・。
No.1
- 回答日時:
切り取るとか削除するとかすればできるんじゃないですか?PHPをメインにやってるのでCGIのことは詳しくないんですが・・・。
おそらくPHPと変わらないと思って書き込んでいます。指定文字以降を削除すれば問題ないと思いますよ。この回答への補足
お返事ありがとうございます
スレッド一覧の表示時のみ、◆を含む、それ以降の文字を表示させたくないのです
スレッド単体で閲覧でする場合には、◆を含む、それ以降の文字を表示させたいので、削除をしてしまうと、スレッド単体の閲覧でも消えてしまうような気がするのですが、私の解釈間違いかもしれません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Excel(エクセル) エクセルにおいてセル内の文字を出来るだけ大きく表示する方法を教えてください。 4 2022/07/30 08:08
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- UNIX・Linux Postfixでドコモメールに送信すると届くまで10分ぐらいかかる 6 2023/03/05 13:56
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 11:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
太鼓
-
エクセルで集計したい。
-
ホームページでCGIのフォームを...
-
フォームを再送信しますか?
-
apacheでPerl CGIが作動せず、5...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
-
さくらサーバーにcgiフォームを...
-
一番簡単なCGI,掲示板の設置教...
-
(フリーの)ツリー掲示版CGI、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DBを10件毎に表示ページング...
-
perlのフォームで表示したテキ...
-
Webページを作るには、HTMLとCS...
-
Webで取得できる情報
-
YAHOO!検索にて、有名な?企業...
-
HTMLでASPを動かしたい
-
携帯端末用のアクセス解析なん...
-
smallbasicで現在表示している...
-
アクセス解析の検索エンジンの...
-
RSSのフィードを受取り、それを...
-
cgi(perl)で掲示板などを作成...
-
携帯端末用アクセス解析CGI
-
指定文字以降を表示させない
-
RSSファイルを取得して、現在の...
-
if文について
-
月の第一週とは
-
6月の第2 第4火曜日は何日...
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
[Excel] ある日の曜日が当月の"...
おすすめ情報