
CGI勉強中です。
表の中に文章を表示させるのですが、表の幅が狭い場合、自動改行によりとデザインが崩れてしまうのを防ぐためif文で分岐させています。
-----------------
if ($all_width(表の全幅) >= "xxx") {1行で表示}
else{2行<br>で表示}
--------------------
といった感じです。
でも、この場合、$all_width を%で指示した場合、もちろん100以下なので2行表示してしまいます。
で、もうちょっとカスタマイズして、
-----------------
if ($all_widthに%が使われていたら) {
if ($%使用時の行指定==1){1行で表示}
else{2行<br>で表示}
}
else{
if ($all_width >= "xxx") {1行で表示}
else{2行<br>で表示}
}
-----------------
こうしたいのですが…文法的におかしくは無いですよね。
で、この「$all_widthに%が使われていたら」という表現方法がわかりません。
何か良い方法は無いでしょうか?よろしくお願いします。
No.2ベストアンサー
- 回答日時:
No.1さんの回答通り正規表現を使うと良いと思います。
if ( $all_width =~ /\%/ ) {
...
上記は、$all_widthの値に%という文字列がある場合にtrueを返します。
$all_widthに数字と%しか使われない事が前提で、更に%が文字列の最後にある場合の正規表現は以下のような感じになります。
if ( $all_width =~ /\d+\%$/ ) {
...
正規表現は慣れるまでに多少時間がかかるかもしれませんが、
便利なのものなので覚えておくといいと思いますよ。

No.1
- 回答日時:
私もPerl/CGIの勉強中ですが…
正規表現で「%」の有無を拾ってはいかがでしょうか。
あまりきれいなソースではないかもしれませんが…
$_= $all_width;
if (m/\%/){
if ($%使用時の行指定==1){1行で表示}
else{2行<br>で表示}
}
else{
if ($all_width >= "xxx") {1行で表示}
else{2行<br>で表示}
}
このような感じにすれば、$all_widthの中の文字列に「%」が含まれているかどうかを正規表現で判定して、含まれている場合には前者の、そうでない場合には後者の処理に分岐すると思います。
見当違いでしたら、ごめんなさい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PLY yacc での IF 文実装
-
「取得先」という表現について
-
Excel VBA:特定の文字列以降(...
-
shシェルスクリプト 空白行の...
-
ps3で久しぶりにCDの音楽情報取...
-
開始と終了を指定して、その間...
-
【C#】DataGridViewの最大列数...
-
Dosブロンプトでtabを出力したい
-
findstrのerrorlevel
-
wordの差し込み印刷で文字...
-
XMLのタグの有無をPHPで判定し...
-
VB.NETでボリュームを取得・設...
-
INIファイル
-
VBA内でのGetPixelを使用した時...
-
Google scholarがひらけなくな...
-
完全なセッション破棄をしたい
-
ExcelVBAで、FileSystemObject...
-
WordでExcelデータを差込...
-
VB.NETからVBAマクロ(引数)を呼...
-
webサイトの参考資料:サイト名 ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<A href ~で複数の値を渡したい
-
parse_ini_fileでダブルクォー...
-
「次の10件を表示する」のよ...
-
テーブルに送信ボタンをつける
-
!==について
-
ヒアドキュメントの中で関数の実行
-
PHPでwait処理ってできます?
-
$_SERVER["QUERY_STRING"]の仕...
-
初歩的な質問だと思います。IF...
-
phpからoracle関数を使ってコミ...
-
PHP declare文について、ticks...
-
null代入とunset()の違いについて
-
PHP ハイパーリンク
-
PHPの質問です : -> 等
-
重い処理の最中の経過を出力したい
-
書籍とその書籍が提供している...
-
printの出力結果を変数に代入す...
-
ヒアドキュメントでstaticメン...
-
CakePHP リッチテキストエディ...
-
ランダム文字について
おすすめ情報