質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

4423閲覧

【PHP7】変数にimgタグ(パスと展開できる別の変数)を入れる方法

PonCotsu

総合スコア9

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/02/19 00:11

imgタグを変数に入れ、そのsrcパス内に別の変数を入れ、展開できる方法を探しています。
全体をシングルクオートで囲むと 変数($def)は展開されず(検証で見ると$defの部分が何もない状態になっている)、ダブルクオートで囲むと変数が文字列扱いされます。
2重の場合は2回ダブルクオートを使って、内側のダブルクオート前に(バックスラッシュ)をいれたらできるみたいなのを見たのですが、この場合は、どうしたら変数展開されますか。

PHP

1$def="gazou1" 2$abc='<img src="./example/'.$def.'">'      // ./example/gazou1に挿入したい画像があるものとします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

そのまま展開できる方法はありませんので、何かしらの関数を使うしかありません。

php

1$image_template = '<img src="./example/%s">'; 2 3$image_tag = sprintf($image_template, $def);

投稿2020/02/19 00:21

maisumakun

総合スコア145930

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PonCotsu

2020/02/19 03:58

回答ありがとうございます。最終的にはパス内に変数を入れて、クリックしたもの(POST送信で送られてきたもの)に合わせて画像を表示したいのですがやっぱり1行じゃ書けないですかね。。
PonCotsu

2020/02/19 05:22

変数名に問題があったみたいで、変数名を変えたら一番最初のやり方でできるようになりました。 ありがとうございました。
guest

0

内側のダブルクオート前に(バックスラッシュ)をいれたら

こういうこと? "<img src=\"./example/$def\">"

php

1$def="gazou1"; 2$abc="<img src=\"./example/$def\">";

投稿2020/02/19 00:53

Y.H.

総合スコア7918

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Y.H.

2020/02/19 00:55

maisumakunさんの回答の方が、HTMLのタグが見やすいのでミスが少なくなると思いますよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問