2016-09-22

PHPのechoやprintで上手くHTMLタグを出力する方法

はじめに

PHPを取り入れたWebサイトの製作を行っていると、「print」や「echo」を使用しての定型のHTMLタグの出力をしたい、という時があるかもしれません。そんな時の、ちょっとした注意点をメモしておきます。

HTMLタグ出力の際の注意点

HTMLタグを出力する際には、普通、それに付随する属性も一緒に出力すると思います。しかし、出力したいタグと属性をそのままechoやprintで出力しようとしても、エラーが出て出力することが出来ません。

HTMLと出力結果

エラーの原因と対処方法

結論から言えば、これはダブルクォーテーションの中にダブルクォーテーションが含まれているためです。では、どのようにすればエラーを出さずにHTMLタグを出力できるのかというと、2つの方法があります。

1つめは、外側のダブルクォーテーションをシングルクォーテーションにすることです。こうすることで、HTMLタグとして認識されます。

HTMLと出力結果

しかし、これにはシングルクォーテーションで全体を括ると変数を展開できないという問題点があります。以下の例では、変数名がそのまま表示されてしまっています。

HTMLと出力結果

では、変数展開してHTMLタグを出力するためにはどうすればよいのかというと、「\(バックスラッシュ)」をダブルクォーテーションの前に入力します。こうすることで、エラーが出力されず、ダブルクォーテーションを入力することができ、変数も展開することができます。

HTMLと出力結果

さいごに

バックスラッシュによるエスケープ処理は、対象がダブルクォーテーション以外の時にも使用することがあるので、記号を扱うときは思い出してみてください。また、今回の例文はすべてprintで記載していますが、echoでも同様の結果を得られます。



コメントする(※は必須項目です)













画像認証