• ベストアンサー

PHP内でのHTMLデザイン装飾

お世話になります。PHPで書いています。 $str_messageの文字列を強調かつ赤色にしたく、 echo '<strong style="color:red">'.$str_message.'</strong>'; echo 'にてご予約をお取りします。'; 上記のスクリプトを書いて、実行するとstrong装飾とredでの装飾が下段の 「にてご予約をお取りします。」 まで、かかってきてしまいます。 どこか間違いがあるのか分からず、 分かる方に教えて頂きたくお願い致します。

  • PHP
  • 回答数1
  • ありがとう数7

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.1

テストしましたが、正常に表示されました。 http://codepad.viper-7.com/YfY9Hw PHPであろうとHTMLであろうと、どちらもブラウザが得るものは「HTMLソース」です。ここ以外の場所で余分な開始タグを出力してるんじゃないですかね、ブラウザから実行結果のソースを閲覧して確かめてみてください。 なお、このケースでは <?php echo '<strong style="color:red">'.$str_message.'</strong>'; echo 'にてご予約をお取りします。'; ?> という書き方よりも <strong style="color:red"><?php echo $str_message ?></strong> にてご予約をお取りします。 の方が見やすいので推奨されます。さらに、PHP5.4以降であればecho短縮構文が常に利用できるので <strong style="color:red"><?=$str_message?></strong> にてご予約をお取りします。 とすることが出来ます。

-q7P2izb__
質問者

お礼

早速のご回答誠にありがとうございます!! PHPで有名なお方からのアドバイスを頂き大変恐縮です。 参照ページを見させていただきました。 確かに反映されており私のスクリプトに余計な記述がないか チェックしております。 また、ご指摘頂いたコードの書き方がスマートでむしろ こちらのほうが自然な気がいたしました。 本当にPHPにお詳しい方がいて良かったです。 ありがとうございました。感謝申し上げます。

関連するQ&A

  • PHPの文字列をJavascriptの変数にする

    PHPの変数に格納された文字列を、直接Javascriptの変数の一部として格納しようと考えています。 例:) <script> var txt = "<?php echo $text; ?>"; </script> しかし、$textにダブルクォーテーションなどの文字が含まれていると、スクリプト全体が破綻します。今のところ、PHPの中で、問題を起こしそうな文字列を変換するように処理しています。 例:) $text = str_replace("\\", "\\\\", $text); $text = str_replace("\"", "\\\"", $text); $text = str_replace("\n", "\\n", $text); これよりもスマートな方法(たとえば用意されている関数を使うなど)がありますでしょうか。

    • ベストアンサー
    • PHP
  • PHPです2つのスクリプトの相違がわかりません

    PHPですが、以下の2つのスクリプトで同じ結果がでると思ったのですが現実は違いました。 henkan.php <html> <body> <?php $uketori=$_POST['UKETORI']; $uketori=str_replace("pen","pencil", $uketori); $uketori=strtoupper($uketori); print "$uketori"; ?> </body> </html> henkan2.php <?php $str=$_POST['UKETORI']; echo str_replace("です。","だよん。", $str) . "<br>\n"; echo "<br>\n"; echo mb_ereg_replace("です。","だよん。", $str) . "<br>\n"; echo "<br>\n"; ?> フォームに です。 という文字を入れたら変換されて だよん。 と表示さしたいのですが、上の2つで相違がでました。なぜなんでしょうか。 henkan.php では変換されませんでした。 henkan2.php では変換されました。

    • ベストアンサー
    • PHP
  • javascriptとphpの変数のやり取り

    ある該当ページ(mtの検索結果ページ)が拡張子をphpにできず、 <script src=hogehoge.php></script>でphpファイルを読み込んで、 実行したいと思います。 phpを使用している理由はある変数を取得したいのですが、 今回は関係ないので割愛します。 ■以下ソース ・該当ページ(mt-search.cgi) <html> <head> <title>hoge</title> <script type="text/javascript" src="/hogehoge.php"></script> </head> <body> <script> document.write("<p>"+str+"</p>"); </script> </body> </html> ・phpファイル(hogehoge.php) <?php if(test == test){ $str = "成功" }else{ $str = "失敗"; } ?> <script type="text/javascript"> <!-- var str= "<?php echo $str?>"; --> </script> このようにしているのですが、 うまく出力されません。 php側の出力はうまくいっているようなのですが、 ブラウザ側の方でちゃんと変数がわたっていないようです。 画面は真っ白です。 ご教授お願いいたします。

  • 訪問済みリンク色を設定したいが難易度高いです

    以下のHTMLのハイパーリンクになってる文字列に対し、「訪問済みリンク色(a:visited)」だけ新たに設定したいです。 現在はすべて文字色は赤で、訪問済みリンクであっても色は赤のままです。それを訪問済みリンクなら青になるようにしたいです。 ブラウザの設定で変更する方法ではなく、CSSで変更したいです。 <body>タグの中は「一切いじれない状態」なので、<body>の外部に新たにcssを書き、そこから色を変更したいですが、ハイパーリンクの文字列は、タグの挟まれ方の種類が以下のとおり(5)種類あります・・・ <a>タグは、<a href="http://*" class="title">と<a href="http://*"> の(2)種類、 他にも<span>や<strong>の位置が違ってたりしますが、<body>の中はいじらずに訪問済みリンク色だけ変更することは可能でしょうか? <body> <div class="blogbody"> <div class="text"> ■文字列(1) <li><span style="color: red"><a href="http://*"><strong><span style="color: red">文字列(1)</span></strong></a><strong>★</strong></span><span style="color: black">DATE</span></li> ■文字列(2) <li><a href="http://*" class="title"><strong><span style="color: red">文字列(2)</span></strong></a>DATE</li> ■文字列(3) <li><a href="http://*" class="title"><span style="color: red"><strong>文字列(3)</strong></span></a><span style="color: red"><strong>★</strong></span><span style="color: black">DATE</span></li> ■文字列(4) <li><a href="http://*"><span style="color: red"><strong>文字列(4)</strong></span></a><span style="color: red"><strong>★</strong></span><span style="color: black">DATE</span></li> ■文字列(5) <li><a href="http://*"><strong><span style="color: red">文字列(5)</span></strong></a>DATE</li> </div> </div> </body>

    • ベストアンサー
    • HTML
  • cssを使って文字を装飾しても改行させたくない場合

    cssを使って文字を装飾しても改行させたくない場合、どのような方法がありますか? <html> <head> <title>test</title> <style type="text/css"> p.red { color: red; } </style> </head> <body> 黒<p class="red">赤</p>黒 </body> </html> これだと 黒 赤 黒 になってしまいますが 黒赤黒 にしたい場合 どうすればよいでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • スクリプトの書き方、教えて下さい

    こんにちは、いつもお世話になります。 取りあえず↓のスクリプトで動作するのですが、 もっと賢いというか、かっこいいというか、頭の良いスクリプトの 書き方を教えて下さい。 //----ここから------ $jp_color = array("黒", "青", "赤"); $colorarray = array("black", "blue", "red"); echo "<select id= ..............>"; echo "<option value='COLOR'>" . _COLOR . "</option>"; $i = 0; foreach($colorarray as $color){  echo "<option value='" . $color . "'>" . $jp_color[$i] . "</option>";  $i++; } echo "</select>"; //----ここまで------ どうか、よろしくお願いします。

    • ベストアンサー
    • PHP
  • C#でPHPの可変関数のような事ができるでしょうか

    すみません、ご存じの方教えてください。 PHPでは次のような形で文字列で関数を呼び出せるようですが、C#でも同じ事ができますでしょうか? $str = "MyFunc1"; $str("Hellow"); function MyFunc1($abc){ echo "$abc"; }

  • php 指定文字列以降の削除

    phpにて半角スペース以降の文字列を問答無用で削除するというプログラムを作ろうとしてるのですが上手くいきません。 どうすればできますでしょうか? ご教授のほどよろしくお願いいたします。 ---- ソースコード $str = '2017/1/1 10-28'; if (preg_match("/ /", $str)){ $replace = str_replace(' ', '', $str); } echo $replace;

    • ベストアンサー
    • PHP
  • PHP内にJavaScript

    下記のようなはじめての訪問者に対してようこそ!と表示するJavaScriptをPHP内で動かすにはどのように記入すればよいのでしょうか? ==================================================== <script language="JavaScript"> var key = "freekeyword"; var n = 0; var cookies = document.cookie.split("; "); for(var i=0;i<cookies.length;i++){ var str = cookies[i].split("="); if(str[0] == key){ // n = str[1]; } } window.onload = function() { if(n == 0){ document.getElementById('welcome').innerHTML = 'ようこそ!'; } n++; setCookie(key,n); } function setCookie(key,val){ document.cookie = key + "=" + escape(val) + "; "; } </script> ==================================================== このスクプリトを下記<head>内にどのように記入すればよいので しょうか? PHPの文法などほとんど分からないレベルなのでそもそも質問 自体間違ってるかもしれませんがPHP内で同様の動作をさせたい のです。よろしくお願いします ==================================================== <?php echo ' <html> <head> </head>'; echo ' <body> <div id="welcome"></div> </body></html>'; ?> ====================================================

    • ベストアンサー
    • PHP
  • htmlからPHPを呼び出す方法について教えてください

    <script type="text/javascript" src="/init.php"></script> 楽天商品検索APIを利用したブログパーツの作成をPHPにて行っております。 公開されているサンプルソースを元にブログ上に指定したキーワードの 検索結果を表示させるPHPを作成しております。 HTML側にてPHPを呼び出す際に、PHPに記述したHTMLのソースを document.writeで囲って出力しようとしておりますが上手くいきません。 呼び出し側 <script type="text/javascript" src="/test.php"></script> ■test.php <?php //PHPソース(省略) $str_test = 'zzzzz'; header("Content-Type: application/x-javascript; charset=UTF-8"); echo " document.write(\"<table width=\"100%\" border=0 cellspacing=1 cellpadding=5 style=\"font-size:12px;\">\") document.write(\" <tr style=\"background-color: #ffffff;\">\") document.write(\" <td width=\"8%\" align=\"center\" rowspan=\"4\">\") document.write(\" abcde\") document.write(\" </td>\") document.write(\" <td width=\"8%\" align=\"center\" rowspan=\"4\">\") document.write(\" $str_test\") document.write(\" </td>\") document.write(\" </tr>\") document.write(\"</table>\") "; ?> 上記の様にダブルクォートをエスケープしたのですが 呼び出し側には何も表示されませんでした。 document.writeにて下記の様に記述した場合は表示されましたので 上記ソースの何処かが間違っているのは分かったのですが そこから先に進めず困っております。 ■表示された例 echo " document.write(\"$str_test\") "; 解決策、別案などありましたらご教授いただけたら幸いです。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP