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

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

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

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

3回答

4576閲覧

PHPで配列に入力した文字の一部の色だけ変更する方法。

taka_php

総合スコア14

PHP

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

1クリップ

投稿2018/06/25 13:59

編集2018/06/26 05:37

配列に入力した文字列の中で、一部の文字だけ色を変えたいのですが可能でしょうか?

「 'quession' => '次の選択肢のうちで誤っている物を選びなさい。',」
上の文で、「誤っている物」という部分だけを太文字にしたり、赤色に変えたりしたいのですが・・

PHP

1<?php 2$quiz => [ 3 'quession' = '次の選択肢のうちで誤っている物を選びなさい。', 4 'answer' = ['①','②','③'] 5 ]; 6 7?> 8 9<!DOCTYPE html> 10<html lang="ja"> 11<head> 12<body> 13  <p> 14 <?= $quiz['quession'] ?> 15 </p> 161718

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

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

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

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

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

guest

回答3

0

ベストアンサー

このプログラム、そもそもPHPの構文間違いだらけですけど大丈夫ですか?


配列の定義が間違っています。

php

1$quiz = array( 2 'quession' = '次の選択肢のうちで誤っている物を選びなさい。', 3 'answer' = array('①','②','③') 4 );

ではなく

php

1$quiz = array( 2 'quession' => '次の選択肢のうちで誤っている物を選びなさい。', 3 'answer' => array('①','②','③') 4 );

添え字の書き方も間違ってます。

php

1<?= $quiz[quession] ?>

ではなく

php

1<?= $quiz['quession'] ?>

$も何もないquessionという文字列(正確には文字列じゃないけど)は「定数」というものになります。
そのような定数はおそらく宣言されていないので、下記のようなエラーが出るはずです。

** PHP Notice: Use of undefined constant quession - assumed ~~~ **


ソースコードもエラーもコピー&ペーストが基本です。
(でないと見ている人に本来は不要なはずの詮索を強いてしまいます)
もしコピー&ペーストしたものであれば、そもそも構文エラーが起きていないとおかしいので、
エラー表示がOnになっているか確認してください。なってなければOnにしてください。

  • [

画面にエラーを表示する](http://www.24w.jp/study_contents.php?bid=php&iid=php&sid=setting&cid=001)


どのような環境で実行されているか分かりませんが、前回質問でhtmlタグが入れられることが分かったはずなので、
実際に行いたい装飾を文字列内にhtmlタグを埋め込めば問題なく実現できることは分かったのではないでしょうか?

下記のようにすれば太字になりますし

php

1$quiz = array( 2 'quession' => '次の選択肢のうちで<strong>誤っている物</strong>を選びなさい。', 3 'answer' => array('①','②','③') 4 );

下記のようにして、spanに対してCSSを指定すればどのような装飾も可能となります。

php

1$quiz = array( 2 'quession' => '次の選択肢のうちで<span>誤っている物</span>を選びなさい。', 3 'answer' => array('①','②','③') 4 );

PHPが正しく動いているとしたらあとはHTML・CSSの問題です。

そういえば、前回質問にて配列定義を下記のようにするようにアドバイス受けていましたが、今回は忘れられていましたか?

php

1$quiz = [ 2 'quession' => '次の選択肢のうちで誤っている物を選びなさい。', 3 'answer' => ['①','②','③'] 4];

上で提示したPHPマニュアル:配列の「例1 シンプルな配列定義」の項に「PHP 5.4 ではこのようにも書けます」とあります(正確にはPHP5.4以降です。むしろ最近はarray()と書くことの方が少ないです)


PHP側でやっていることは画面に文字列を出力することであり文字の装飾などをしているわけではありません。
その文字列を出力する機能でhtmlタグを書けばブラウザから見ればhtmlなのでhtmlとして認識されるだけです。
正しくhtml出力できれば、あとはHTML・CSSの問題です。
この部分を念頭に置いていただくと表現の幅がグッと広がります。

投稿2018/06/26 00:27

編集2018/06/26 00:37
m.ts10806

総合スコア80850

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

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

taka_php

2018/06/26 06:25

質問の仕方が、悪くお手数をおかけして申し訳ございませんでした。今後気を付けます。こちらで質問する前に、もう少しCSSなどの基礎的なことを勉強しなおそうと思います。 ご丁寧な回答をありがとうございました。
m.ts10806

2018/06/26 06:39

解決したようで何よりです。 ・プログラムコード、エラーメッセージは必ずコピー&ペーストすること ・以前の回答でもらったアドバイスは活かすこと この2点を徹底すれば、質問する機会は減っていく(質問することなく自分で解決できるようになる)と思いますよ。
guest

0

'quession' = '次の選択肢のうちで<em>誤っている物</em>を選びなさい。',などとして、cssで色を考える。
emタグがいやなら、spanタグとかを使う

投稿2018/06/25 14:08

papinianus

総合スコア12705

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

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

taka_php

2018/06/25 15:31 編集

'quession' = '次の選択肢のうちで<em>誤っている物</em>を選びなさい。', と入力したところ、 <?= $quiz[quession] ?> にて 「次の選択肢のうちで<em>誤っている物</em>を選びなさい。」 とタグがそのまま表示されてしまいます・・・
papinianus

2018/06/26 00:45

htmlspecialcharsとかをかけてなければ、そんなことにはならないと思うのですが。少なくともサンプルとして示されたものを表示すると、emでも他のものでもタグがそのままは出てこないと思います。
taka_php

2018/06/26 06:27

htmlspecialcharsを使っていました。質問時に、手打ちで入力していて省いてしまいました。質問時は、ソースコードはコピーするのが基本ということを教えていただきました。今後は気を付けます。 ご丁寧な回答をありがとうございました。
guest

0

配列に入力した文字を表示するときに色を変える/太字にする、ということじゃないんでしょうか?

投稿2018/06/25 14:06

y_waiwai

総合スコア87749

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

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

taka_php

2018/06/25 15:14

表示するときに色を変えるということでした。文章が悪くてすみません。
y_waiwai

2018/06/25 15:20

ならその表示のときに色指定のタグつけるってことで。 #まあ、別回答のように表示の文字列作るときにタグ埋め込むってのが現実的かと
taka_php

2018/06/25 15:32

回答ありがとうございます。表示の時に色指定タグをつける方法は分かるのですが、できれば文字列を作るときにタグを埋め込みたいのです。 文字列を作るときにタグをつけると、タグがそのまま表示されて困っています・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問