ベストアンサー PHP 数値実体参照を文字に変換 2013/01/11 15:58 $html .= "<う> "; ◆ echo " $html "; 以上のようなPHPで、◆の部分をどのように記述すれば <う> と表示されますか? みんなの回答 (2) 専門家の回答 質問者が選んだベストアンサー ベストアンサー agunuz ベストアンサー率65% (288/438) 2013/01/11 16:57 回答No.2 私の環境では何もしなくても <う> と表示されます。特に何もしなければ(phpの出力はtext/html ですから)ブラウザが < を < に、> を > として表示するハズです。 逆に < や > をそのままブラウザに返すのは危なすぎます。htmlソースとしてタグ部分を返すなら別ですが、「表示させる」なら(そういう話ですよね?)htmlspecialcharsを通したまま(< や > のまま)の状態で出力すべきです。 #さすがに、<う> はタグだと認識されないでしょうからhtml_entitydecodeして #から出力しても表示はされるでしょうけどね。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (1) t_ohta ベストアンサー率38% (5319/13880) 2013/01/11 16:03 回答No.1 echo html_entity_decode($html); 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発PHP 関連するQ&A 文字実体参照が勝手に変換されてしまう 簡単な問合せフォームを作成中に文字実体参照に変換した文字が、元に戻されてしまい困っています。簡単なサンプルを作成してみましたが、以下の様な状態です。 1.入力フォームを持ったHTMLに 「<>と<と>」 と入力し、xxx.cgiに渡します。 2.xxx.cgi内で入力文字列を取得し、文字実体参照に変換後<hidden>で値を保持、再度xxx.cgiに<hidden>の文字列を渡すようにします。この時点で入力値は 「<>と&lt;と&gt;」 となります。 3.再度xxx.cgiが呼ばれると、文字実体参照に変換する処理が行われる為、入力値が 「&lt;&gt;と&amp;lt;と&amp;gt;」 となるはずですが、 「<>と&lt;と&gt;」 となってしまいます(変換処理が行われているはずなのに変換されていない)不思議に思って変換前のCGIの引数を確認してみると、 「<>と<と>」 と文字実体参照が元に戻されてしまっています。 ちなみに文字実体参照の変換処理は$valueに対象の文字が入っているとして以下の方法で変換しています。 ---------- $value =~ s/&/&/g; $value =~ s/"/"/g; $value =~ s/</</g; $value =~ s/>/>/g; $value =~ s/\n/<BR>/g; ---------- こういった現象についてでも何か分かるようでしたら宜しくお願いします。 <textarea>の最後尾に追加した実体参照や数値参照が意図した通り表示されない <textarea>の最後尾に追加した実体参照や数値参照が意図した通り表示されません。 確認したこと(■1■)と、やりたい事(■2■)は、下記の通りです。 ■1■ <textarea>~</textarea>の中に直接記述すると 下記の例だと、 <とか> と、表示されます。 <textarea name="output" id="outputEdit" style="background-color:#99ff66" cols=80 rows=25> <とか> </textarea> ■2■ javascriptで<textarea>の最後尾に追加する方法だと、 下記の例だと、 <> と、表示されてしまいます。 <textarea name="output" id="outputEdit" style="background-color:#99ff66" cols=80 rows=25></textarea> <script language="javascript"> <!-- var objTextarea = document.getElementById('outputEdit'); objTextarea.value+="<>"; //--> </script> 2の記述で、1と同じ様に表示させたいのですが、 無理なのでしょうか? どうか宜しくお願いいたします。 php内で文字の入力 phpのプログラムを改造しています。 データ表示部分で"もしこのデータが無ければ非表示"というのを実現したいです。 現状はこのようになっています。 <?php echo sprintf(TEXT_LIST_LOCATION); ?>:<?php echo stripslashes($product_info['products_location']); ?><BR> これを「もし、"$product_info['products_location']);"があれば、"TEXT_LIST_LOCATION : $product_info['products_location']<BR>"を表示する」としたいです。 単純に <?php if($product_info['products_latinnane']) { echo sprintf(TEXT_LIST_LATINNAME); : echo stripslashes($product_info['products_latinnane']); <BR> } ?> としてみましたが、何も表示しなくなってしまいました。 この場合、":"や"<BR>"はどのように記述したらよいでしょうか? ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム php拡張子を無くす 共用サーバーを利用している為、Apacheを触ることが出来ない為、.htaccessファイルに以下のように記述し設定をしています。 <Files *.php> ForceType application/x-httpd-php </Files> この設定では、「index」「index.php」どちらもアクセスするとPHPが動作してしまいます。 「index」は動作させて「index.php」は動作させないようにすることは可能でしょうか? もし可能であれば、方法を教えていただけないでしょうか? ちなみに、php.iniは触ることができます。 改行コード入り文字列を含むXMLの変換方法 PHPを用いて、XMLからXSLTを経由しHTMLを出力するというプログラムを作成しています。 ほとんど完成しているのですが、最後に改行で問題が発生してしまい かなり困っています。 XML内に保存されている改行入りの文字列を HTMLできちんと改行されたまま表示したいのですが 繋がったまま出力されてしまいます。 ------------------------------------------------------- ※<br />は、PHPで入力文章の確認をする際に 改行させたまま表示させたいので記述して それを残したままXMLに保存しています。 <sample> <title>見出し1</title> <paragraph> あいうえお<br /> あいうえお<br /> あいうえお<br /> </paragraph> <sample> ↓PHPでXSLTを通してHTMLに出力 見出し1 あいうえお<br />あいうえお<br />あいうえお ------------------------------------------------------- これを、改行された状態で表示できるようにしたいのですが なかなか上手くいきません。 何か、解決策が思い浮かぶ方がいらっしゃいましたら 是非、教えていただきたいです。 利用環境はPHP5です。よろしくお願いします。 PHPで文字列から数値に変換する方法について PHP5で数値の文字列から数値にする方法で質問です。 数値と認識されるものについては、そのまま、およびキャストするだけでそのまま使えると思いますが、 割り算(「/(スラッシュ)」)が入っているような計算式を数値として認識させる方法はありますでしょうか? 例えば $a="6861/2500"; echo (float)$a; echo "<br>"; とすると、先頭の6861という数値に変換されます。 if(is_numeric($a)){ echo "数値"; }else{ echo "文字"; } の結果は文字という判定になりました。 6861/2500 ↓ 2.7444 と取得したいです。 自分で計算記号から数値部分を区切って計算するような方法をとらないと難しいでしょうか? phpの記述につきまして phpの記述につきまして データベースから <? echo $file_name; ?> で $file_name に ****.php の値が呼び出されるのですが include の記述で <?php include("<? echo $file_name; ?>"); ?> と言う風に 利用表示するとエラーになってしまします。 include("ここにDBからのPHPファイル名を呼び出したい!") とするには どのように記述すれば宜しいでしょうか? ご教授いただければ幸いに存じます。 記号文字の変換について CSVファイルで以下 MCODE E0187-348<br>通常定価 73,800円<br>参考定価 44,800円 のように保存している物を PHPで読み込んで表示させると なぜか MCODE E0187-348<br>通常定価 73,800円<br>参考定価 44,800円<br><br> と言う風に表示されます なんで改行されないの???と言うことで ここも色々さがして nl2br()などためしましたが 状態変わらずお手上げ状態です 何か関数あるのでしょうか? どなたか教えてください phpでmysqlから呼び出し文字列に変換? mysqlに下記のようなものがあるとします。 id name category 1 ユーザー1 3 2 ユーザー2 1 3 ユーザー3 1 これをphpで呼び出して表示します。(エスケープ処理は省いてます) <?php echo $users["id"]; ?> <?php echo $users["name"]; ?> <?php echo $users["category"]; ?> それぞれ1→ユーザー1→3 という感じで問題なく表示されています。 しかし、categoryのところは実は 1 海釣り 2 川釣り 3 両方 このように選んで貰ってその数値を格納しています。 しかしながらそれをphpで呼び出しどのように【1が呼び出された時は海釣り】のように表示するのでしょうか? 最初から文字列を格納でも良いのですが整数を格納し呼び出す時に、という今回のケースも勉強したいと思ったのですがどのようにやるのがスムーズなのでしょうか? 比較的プロフィールのページや写真掲載のページなどに頻繁に使うのでどこかに関数としてかいておけるものなのでしょうか? PHPの記述につきまして PHPの記述につきまして <? echo $kansu; ?> と記載されている $kansu の値が 定型でaaa1,aaa2,aaa3といった aaaと数字で構成されています。 そこで echo で書きされる値から aaa を削除して、数字部分だけを echoで書き出したいのですがどのように記述すればよいでしょうか? シンプルな記述方法をご教授いただけましたら幸いでございます。 PHPのhtml部分を別に参照したい <?php //ここにsqlの情報を取得するコードが記述されている //それを$outstrに格納している echo <<< EOT; //ここにheaderをはじめとするhtmlのコードがいっぱい書いてある……(a) {$outstr} //ここにfooterをはじめとするhtmlのコードがいっぱい書いてある……(b) EOT; ?> なるphpがあるのですが、このaとbの部分にあるコードを別に分けることはできないでしょうか。 aにあるコードをa.htmlなんかで保存して同じフォルダに格納して、関数を入力すれば呼び出せるようなものです。 最初はecho <<< EOT;の上の行に$a=require 'a.html'などと書いて、 $a=require 'a.html'; $b=require 'b.html'; echo <<< EOT; {$a} {$outstr} {$b} EOT; などと書きましたが、うまく機能しませんでした。 どなたかご教示のほど、どうかよろしくお願いします。 数値から文字列へ変換後の先頭桁埋めについて お世話になっています。 現在csvファイルからデータを読みだして、 読みだした項目をphp上で表示させようとしています。 例として page1.php <?php $num = '100'; #csvから取得した数値項目 $temp = "00" + $num; ?> と記述して値を引き渡したものを page2.php <html> <body> <?= $temp; ?> </body> </html> というように記述しても先頭の00が自動で省略されてしまいます。 画面上に'100'という数値自体は表示できていますが、 数値の変数を先頭に'0'の足して文字列として使用するにはどのようにすれば良いのでしょうか? strval($num)を使用してもやはり正しい値が表示されませんでした。 ぜひ知恵をおかしください。 以上、宜しくお願いします。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム aaa.php?abc=1で渡したabcの値をechoする方法 <a href='aaa.php?abc=1'>テスト</a> と記述したとします。 テストというリンクをクリックすると、aaa.phpに渡されますが、そのaaa.phpで、abcの値をechoしたいとき、どのように記述すればいいのでしょうか? <?php echo ×××; ?> ××× の部分が分からなくて困っています。初歩的ですみません。 よろしくお願いいたします。 PHPでJSONを扱うときに配列の参照について Web ad Fortune http://jugemkey.jp/api/waf/api_free.php という占いのAPIをPHPにて使おうと思い、 JSON形式で情報が帰ってくるようなので JSONについて調べて json_decode()関数を使うことにしました。 しかし、いまいち配列からのデータ参照ができません。どういうことかというと、 牡羊座のランクを取り出したいときに 【ソース】 <?php $json = file_get_contents("http://api.jugemkey.jp/api/horoscope/free/2009/02/27","r"); $obj = json_decode($json); echo "<pre>"; print_r($obj->horoscope->2009/02/27[0]["rank"]); echo "</pre>"; ?> としても何も表示されません。 ちなみに、print_rの部分を print_r($obj->horoscope); とすると http://nanigashi.biz/json.php のように表示されます。 配列からの情報の読み込み(データ参照)がわかりません。 教えてください。 実体参照 &#~;の形で記述される外国語の修飾文字で次の文字に傍点や下線がつくもの(字送りが0で直後の文字が表示されるもの)にはどんなものがありますか? PHPでの日付について PHPとPostgreSQLを利用しています。 日付を取得して、現在の日付と比べて7日以内であれば、指定の文言を表示して、7日以上であれば表示しないようにしたいです。現時点では以下のように記述しています。 $today = date(Y-m-d); if($today - $update_day <= 7) { echo "表示"; } else { echo "非表示"; } ちなみに $todayも$update_dayも形式は2005-09-18のような形です。 ご教授願います。 フォームの文字列変換ができない http://morecute.bex.jp/music/user_manager/bbs_nayu/master/index9_utility01.php このフォームでAmazonの商品コードを入力すると 商品コードが埋め込まれたURLが自動生成されフォームに出力されるようにしていたのですが、 現在動きません。 このphpのソースは↓です。 <form action="index9_utility01.php"> <input type="text" name="moji" size="80" value="<?echo "<a href="http://www.amazon.co.jp/gp/aw/rd.html?a=".$moji."&uid=NULLGWDOCOMO&url=/gp/aw/d.html&lc=msn&at=morecutebz0e-22&dl=1">アルバム情報</a><img src="http://www.assoc-amazon.jp/e/ir?t=morecutebz0e-22&l=msn&o=9&a=".$moji."" width=1 height=1 border=0" />" ?>"> <input type=submit value=sub> <font size=-1>商品コードを入力 </form> 数年前(2006年頃)はこれで問題なく出力できていたのですが・・・ phpのバージョンが変わって動かなくなったのでしょうか? サーバはXREA、及びCoreserver、PHPバージョンは 5.2.5/5.3.8 です。 受け取ったパラメータを次のphpファイルにも引き継ぐ場合 受け取ったパラメータを 別のphpファイルリックを使って引き継ぎたい時、 <a href="test.php?id=<?php echo $id; ?>">a.php</a> と記述すれば引き継げると思うのですが、 その際、アドレスバーにパラメータ部分を表示させない 事は出来ますか? それが出来ないとすると、<a href="...">ではなく、 どのようにしたらいいのですか? よろしくお願いします。 実体参照に置き換える方法について 下記のソースをブラウザで閲覧した所、真っ白な画面が表示されてしまいました。 「'テスト"」の「'」を消した所、ブラウザに「テスト"」とリンクつきで表示されましたが、「'テスト"」と表示する方法が分かりませんでした。 なお、$testに入れている中身はデータベースから取得しており、ここの文言を直接触る事は出来ません。 データベースの中身の'を実体参照に置き換えた上で、$testに格納できれば大丈夫かと思ったのですが、どうすれば出来るかわからなかったため、アドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>title</title> </head> <body> <?php $test = '<a href="http://hoge.com/">'テスト"</a>'; $url = 'http://hoge.com/'; echo str_replace($url, '/', $test); ?> </body> </html> 以上、よろしくお願いします。 フォームからのメールの文字化け文字? ホームページ上のフォームからメールが届いたのですが 一部分文字化けしているようです。 (○>艸<) と書かれていたのですがどうかかれているのでしょうか? >は< で <は>だと思います。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など