お世話になっております。
質問タイトルにありますように、変数の記述のあるテキストを変数の中にいれたいのですが、元の変数が有効にならないため質問させていただきます。(グーグルで検索しているのですが、どれも解決に至らないので・・)
データベースに変数($text)を含んだテキストを保存した後、以下のような構成のファイルをブラウザでみると、変数($text)は展開されずに、ブラウザ上に$textと表示されてしまいます。
<?php
$text="テスト";
//DB問合わせ
//上記、変数textを含んだテキストをDBから呼び出す
echo $data;//この変数の中に、上記変数($text)が入っている。
?>
以上のような場合、変数($text)を展開させるには、どのようにしたら宜しいのでしょうか?
お忙しい中恐縮ですがアドバイスのほど宜しくお願いいたします。
No.4ベストアンサー
- 回答日時:
データベースに格納されている文字は、例えば、
「私の名前は$textです」
とかといったように、他の文字列の中に、「$text」という変数名を記述しているということですか。
もしそうであれば、データベースから取得されるものは単なる文字列ですので、$textはすでに変数ではなくて、ただの文字です。
これを利用するためには、
<?php
$text = "テスト";
//DB問合わせ
//上記、変数textを含んだテキストをDBから呼び出す
//ここで文字列置換処理
$data = str_replace('$text', $text, $data); //文中の文字列「$text」を変数「$text」に置換
echo $data;//この変数の中に、上記変数($text)が入っている。
?>
このようにしか書けません。
hogehoge78さま
こんばんは。お返事が遅くなってしまい申し訳ありません!
あ~なるほど・・・こういった使い方の発想が出てきませんでした。
ありがとうございます!hogehoge78さまのアドバイスのもと解決することができました!
No.3
- 回答日時:
$test = 3;
$data = "test";
echo $$data;
で3って表示されると思うけど使えない?
ts3m-ickwさま
ご親切なアドバイスをありがとうございます。
お!凄い!と思いましたが、今回の質問の解決には結びつけるのが難しいようです。
※他の件でヒントになるようなアドバイスです。ありがとうございます。
No.2
- 回答日時:
>//上記、変数textを含んだテキストをDBから呼び出す
これってDBから拾ってきたデータは$dataに入っているってことだよね?
でこの時に$dataの構造は?
DBからの取得したカラム数って一つだけではないよね?
ということは$dataの構造って配列でDBから取得したデータを格納するのが一般的だと思うけどその場合
echo $dataで配列の中身表示なんてできない。
foreachで配列内を一個一個扱うか
見た目なんて気にしないで単純に配列内の情報を表示したいだけならprint_rを利用する。
oraora777さま
ご親切なアドバイスをありがとうございます。
私の説明不足でした。$dataは、以下のようにカラムそのものです。
$data = mysql_result($result, 0, "data");
例えますとこの$dataとは、ブログの記事をイメージして頂けると適切かと思われますが、SNSのような会員制のサイトで、事前に設置してある変数$textには、そのファイルを参照した際にセッション情報が格納され(例えば名前など)、DBに保存されている記事を呼び出した際、変数に格納されたテキスト(この場合、たとえで言う名前)を記事中に表示させたいと考えています。
No.1
- 回答日時:
変数というか、変数名の文字列 '$text' をDBに格納・検索しているのでしょうか?
そうであれば、そういうことをするのが間違いである可能性が高いですね。
変数の値でなく、変数の名前を格納する理由は何ですか?
notnotさま
早速のお返事をありがとうございます。
間違いですか・・。
これまで、このような構成で作ったことはないのですが、DBに保存させる目的は、テキスト内容をブラウザ上で修正するためで、例でいう変数$textに格納される文字列は、ユーザーによって可変する設定となっているため、DBに格納するテキスト内に、$text と変数がそのまま登録するまでに至りました。
以上、上手く説明出来ないのですが、他に上手いやり方はないでしょうか・・・アドバイスに感謝いたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 以下のVBAで該当文字列の前後に付与したい。 例 前に付与 abc ユーザーID 12345 後に付 3 2022/04/19 21:50
- JavaScript 【jquery】EasyUIのSubGridにMySQLのテーブルデータを表示&編集にしたい 5 2022/05/02 13:10
- HTML・CSS 分数が正常に表示されない。 6 2022/05/09 18:53
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) エクセルで日付セルのTEXT表示 3 2023/03/29 14:00
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- JavaScript プラグイン無しでContactform7にdatepickerを実装 3 2022/10/25 02:18
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
行数が30万件ほどあるCSVから、...
-
FortranのOPEN文
-
別ファイルの構造体の値を読み...
-
C言語でCSVファイルの行数を読...
-
Resource id #3 と表示されま...
-
◆速い、ファイル読み込みは?
-
PHPでCSVの一部の行を編集したい
-
出力結果がないときの処理方法
-
TEXTAREAに書いた改行コードを...
-
array_randを使って複数表示
-
$_SESSIONに二次元配列を使える...
-
プルダウンメニューにDBの内容...
-
配列内の値を分解して再格納
-
配列一致(要素順番は違うが内容...
-
特定の文からメールアドレスの...
-
file_existsでファイル名の部分...
-
テーブルの行と列の入れ替えは可?
-
PHPのカッコ[ ]の使い方について
-
Pager::factory()の使い方がわ...
-
C言語 最大値と最小値を求めて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの構造体の値を読み...
-
複数行のデータのPOST処理に関して
-
エラーメッセージ(無効な間接...
-
Resource id #3 と表示されま...
-
ヒアドキュメントの中のfor文
-
自動で番号を振りたい
-
C言語でCSVファイルの行数を読...
-
配列同士の足し算のループ処理
-
stdClass Objectを連想配列のよ...
-
PHPでCSVの一部の行を編集したい
-
phpを実行するとファイルダウン...
-
行数が30万件ほどあるCSVから、...
-
phpでCSVファイルの中身を多次...
-
php Undefined variableエラー
-
CSVデータの行数カウントをした...
-
csvの内容を行単位で削除したい
-
複数ファイルで、それぞれの行...
-
テキストデータから指定行の削除
-
rubyで複数列のデータを一行に...
-
PHP5でCSVの指定行データだけを...
おすすめ情報