- ベストアンサー
条件に該当した時にだけhtmlを出力するいい方法
- 条件に該当した場合にのみ、スマートな方法でHTMLを出力するにはどうすれば良いでしょうか?
- 過去のプロジェクトで同様の問題に直面した方は、どのような解決策を見つけましたか?
- タイトルに「条件に該当した時にだけhtmlを出力するいい方法」と記述しました。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
![noname#244856](https://gazo.okwave.jp/okwave/images/contents/av_nophoto_100_1.gif)
その他の回答 (1)
![noname#244856](https://gazo.okwave.jp/okwave/images/contents/av_nophoto_100_1.gif)
関連するQ&A
- 画面にそのままを出力したい
初歩的な質問ですが、調べても出てこないので質問させてください PHPで記述したものをそのまま出力するにはどうしたらいいでしょうか Perlでいうところの print <<"任意の文字"; この中をそのまま出力 任意の文字 こんなことができる記述方法を探しています ようは、PHPでechoで書くと""でくくると内部にある"を全て\でエスケープしなくてはなりませんし、だからといって''にすると今度は'を\でエスケープしなくてはならないと思うのですが、いちいちくくったものと同じ記号のエスケープを考えなくていい方法を探しています。 ただし、内部で$など変数を使えるような方法が必要です。 何かいい方法を教えてください。
- ベストアンサー
- PHP
- Nowdocの機能をphp5.2で使いたい
php5.3からヒアドキュメント内部で変数が展開されないNowdocが使えるようになりましたが、 これと同様のことをphp5.2でできないでしょうか。 下のコードで、ヒアドキュメント内の内容を触らずに(\$hogeなどとエスケープせずに) 変数$hogeを展開させない方法を教えてください。 $source = <<<HERE <?php $hoge = "hogehoge"; ?> HERE; echo $source;
- ベストアンサー
- PHP
- HTMLの出力で改行をさせない方法はありますか
ASPでHTMLの一部だけASPの文法にしたい時、 <div><%= hogehoge %></div> のような感じで書くと思います。 ただ、ASPの部分が非常に長い場合にそこだけ改行したい場合が あります。 (上は変数を出力しているだけですが実際にはIf文などを使って いたりでもっと長いです) <div> <%= hogehoge %> </div> ↑だと出力されるHTMLも改行を含んでしまいます。 これをさせないようにするには <div><% = hogehoge %></div> こんな感じにするしかないのでしょうか。 これだとASPの見た目が悪いような気がするのですがどうにか ならないでしょうか。 <% %> ASPにおける↑の呼び方(正式名称)もよく分からないので (開始タグ/終了タグ?)調べようにも調べることができないでいます。 実は意外と当たり前のことだったりする可能性もありますが 何か方法があったら教えていただけると嬉しいです。
- ベストアンサー
- Microsoft ASP
- ダブルクウォートやヒアドキュメント内での変数や配列を使った計算の表記方法?
素人の素朴な疑問なんですがよろしいでしょうか? echo等で出力する "" (ダブルクウォーテション)やヒアドキュメントの「中で」 変数や配列を使った計算をすることってできますか?たとえば $mynum = 5; echo "最初の計算結果は {$mynum}+100 です。"; //105 $myarray = array(8,13,25); echo "2番目の計算結果は {$myarray[2]}+100 です。"; //125 のようなイメージなんですが・・・。 素直に""の外に出して計算し、ピリオドで結合するとか、 echoより前で変数や配列の計算を済ませておくというのが筋かと思うのですが、 たとえばめったに条件を満たさないif文中のechoの中だけで、一回限りで使う時など、 ""の外に出したり、元の変数を変化させたり、新しい変数を設けたりしないで済んだらなぁ~、 と思いまして。できなければできないで何の問題もないんですが、 よろしければご教授ください。m(_ _)m
- ベストアンサー
- PHP
- バッチファイルで改行の出力
バッチファイルで,改行のみをファイルに追記したいのですがどのようにすればできますか? echo >> output.txt とすると「ECHO は <OFF> です。」と出力されてしまいます. 全角を出力すれば見た目は同じですが,純粋に改行のみの出力方法をお願いします.
- ベストアンサー
- Windows系OS
- 終端識別子 とは?
以下PHP参考書の ヒアドキュメント の説明すが、その中に、「終端識別子」とあります。 「終端識別子」とは何のことなのでしょうか!? もし、以下の説明の中に「終端識別子」があるのでしたら、何にあとるのですか!? 私は読解力にかけるので分かりません!? 宜しくお願いいたします。 P61 ヒアドキュメント PHPでは複数行又がる長い文字列を手軽に利用する方法として、シングルクオートとダブル クオートのほかにヒアドキュメントという方法があります。ヒアドキュメントはヒアドキュメント 構文(<<<)のあとに終端識別子を定義し、その終端識別子が出現するまでを文字列とします。 終端識別子は必ず行頭から始まり、直前に空白(インデント)を含めず、すぐに改行する必要が あります。また、ヒアドキュメントの中では、ダブルクオートと同様に変数が展開されます。また、ダ ブルクオートはそのままダブルクオートになります。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <?php $age = 15; $foo = <<<EOI ヒアドキュメントでは、このように、 複数行にわたる文章をそのまま表記することができます。 Tom の年齢は "$age" 歳です。 EOI; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ もちろん、ダブルクオートで通常の文字列を定義するように、複数行にまたがる文字列を定義す ることもできます。しかし、文章の中にダブルクオートが含まれる長い文章などでは、いちいちダブル クオートにエスケープ(\")が必要となり、これで不便な場合があります。ヒアドキュメントは、た とえばHTMLのテンプレートを記述したり、コマンドラインのヘルプ文を作成するなどに役立ち ます。
- ベストアンサー
- PHP
- バッチでテキストを出力したときに改行ができない
バッチファイルでテキストを出力するのですが、改行ができません echo 一行目 > C:\temp.txt ? echo 二行目 >> C:\temp.txt として結果C:\temp.txtファイル内に 一行目 二行目 ではなく 一行目 二行目 としたいのですが、、 ?にはいるものがわかりません。 echo " " >> C:\temp.txt としても""が入ってしまうし echo >> C:\temp.txt (全角スペース)を入れても"ECHO は <ON> です。"とメッセージが出てしまいます。 わかる方お願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- HTMLで開いたsrcの改行コードを調べる方法を教えてください
cgiでHTMLを作成していますが、cgiを実行した時に HTMLで改行が2個入ってしまいます。 unix上のファイルをfgetsにて1行ずつ読み込んで そのまま出力しています。 改行コードを削除したいのですが、 表示しているHTMLのsrc内にある改行コードに何(どの改行コード)が入っているのか分からず、削除できません。 (fgetsで読み込んだ1行の最後に"\0"が入っていると思って、それを削除してみたのですが、駄目でした。このやりかたは間違えていますか?正しい方法を教えてください。) 宜しくお願いいたします。
- ベストアンサー
- CGI
- シート1から特定の条件でシート2に出力
すみません、エクセルについてご教示ください。 シート1に入力したデータ中から条件にあったものを シート2に出力したいと思っています。 シート2の A3に該当月を指定(例)2012/09)することで、 シート1中から条件のあったデータをシート2中に出力することは可能でしょうか。 可能であれば関数などご教示いただけるとさいわいです。 ## エクセルに詳しくない社内の担当が、シート2のA3に該当月を入れるだけで ## 丸っとシート2をコピーして、必要なメールを作成できないかなあと考えています なお、条件にあるものが複数ある場合、該当するものをすべてシート2の 5行目以降に表示されるようにしたいと思います。 【シート1】 行 __A__ __B___ __C__ ____D___ ____E____ 1 No. 該当月 管理番号 顧客名 備考 2 1 2012/09 11**** 株式会社A ちょめ 3 2 2012/09 23**** 株式会社B ちょめ 4 3 2012/10 27**** 株式会社C ちょい 5 4 2012/10 28***** 株式会社D ちょい 【シート2】 行 __A__ ____B__ __C__ ____D____ __E__ 1 (ここにメールテンプレート) 2 (ここにメールテンプレート) 3 ★該当月★ の対応案件です。お願いします。 4 5 (以下 Sheet1 の B列で Sheet 2 A3 の該当月と一致するものの A~E列を出力。) 6 7
- ベストアンサー
- オフィス系ソフト
- ヒアドキュメントと、htmlspecialcharsの違いを教えて下さい。
PHPのセキュリティを強化しようと勉強しているのですが わからないことがあります。 セキュリティの本には、変数の出力の場合は、 htmlspecialcharsで書くべきと載っていますが、 これまでヒアドキュメントで書いていた部分も、 htmlspecialcharsに直す必要があるのでしょうか? ■ヒアドキュメント echo<<<EOD $hogehoge EOD; ■htmlspecialchars echo htmlspecialchars($hogehoge,ENT_QUOTES,'UTF-8'); この二つの違いと、 どちらがセキュリティとして良いかのかを教えて下さい。
- ベストアンサー
- PHP
- Lenovo Tab K10で使用できるペンの種類が知りたいです。
- Lenovo Tab K10にはどのようなペンが使用できるのでしょうか?
- Lenovo Tab K10に最適なペンの選び方を教えてください。
お礼
あ。私が求めていたのはこれです。 # <?php if (isset($msg)): ?> # <p><?=h($msg)?></p> # <?php endif; ?> PHP開発経験が無く個人で作っているので、人に聞くことも人のソースを見ることもできないので苦労していたのですが、助かりました。あらためて見ると普通のことなのに…。 あと、h関数などは実践的で参考になりました。※JavaScriptでjQueryなどのライブラリを使っていないときに、「document.getElementById」を「$」に書き換えるみたいに流行ってるんですかね? また「(備考) $_GET, $_POSTなどを受け取る際の処理」も参考になりました。 ありがとうございました
補足
>Smartyを使えるなら使うべきだと思いますが あぁ、そうなんですかね。私のイメージでは、Smartyは「テンプレートに対し部分的に値を埋め込むもの」という感じです。 私がやりたいのは「部分的に値を埋め込む」という感じの部分もあるのですが、画面によって出力するテキストエリアやインプットボックスなどのForm系のオブジェクトも変わります。つまり変わる部分もやや多いという事です。こういうものには向かなそうというイメージがあります。 もちろん、変わる部分の複数行分をごっそりと変数にいれて埋め込めば実現可能ですが…。 こういう場合にも、Smartyを使うものなのでしょうか? その場合はどのように使いのでしょうか?やはり「変わる部分の複数行分をごっそりと変数にいれて埋め込む」のでしょうか?それとも他にいい方法があるのでしょうか? もしよろしければこの点についても教えてください。 よろしくお願いします。