imgタグがあったら画面の中心に表示する - PHPプロ!Q&A掲示板

2583

  • 0P

imgタグがあったら画面の中心に表示する

質問日時 / 2010年3月4日 14:14    回答数 / 2件

Questioner:  kanade  このエントリーをはてなブックマークに追加 

キーワード / キーワードが設定されていません

外部ファイルからとある変数に文字列をいれております。

そこに<img src="data/image/logo_01.jpg" border="1">のようなタグがあったら
<center><img src="data/image/logo_01.jpg" border="1"></center>
と置換したいです。

調べてみるとstr_replaceという関数があるみたいなのですが
上記の様な動的に変わる値には使えませんよね?

こういった場合はどの様に行えばよいのでしょうか?

また文字列が入っている変数には<img>タグが複数ある場合もありますが
あくまで画像のみを中心に表示するようにしたいです。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┣A01shimix>>CODE $ret = preg_replace('/<img(.+?)>/i', '<cen
┣A02magicflute2この意見は投稿者によって削除されました。
┗A03kanadeそのような関数があったのですか・・・。 すみません

回答一覧

並び替え:

A01
answerershimix [3月4日 14:37] (最終編集:3月4日 15:31)

  1. $ret = preg_replace('/<img(.+?)>/i', '<center><img$1></center>', $str);

みたいな感じで出来ませんかね(まったくの未検証ですのであしからず)。

  http://www.php.net/manual/ja/function.preg-replace.php


(以下蛇足)
何で今さらcenter要素なんてレガシーモジュールを使うのか不思議。何らかのスタイルを適用させたいなら、必要な部分をdivで括って『そのdiv内のimg要素』に対してCSSを適用するように記述すべきです(セレクタとしてはdiv.classname imgみたいな記述になりますね)。また、img要素(置換インライン要素)を全部ブロック要素に変えてしまうとセンタリング云々以前に滅茶苦茶なレイアウトになりそうですが、そういう部分は大丈夫でしょうか(汗

この意見に回答する

ツリーへ TOPへ

A02
answerermagicflute2 [3月4日 16:37]

この意見は投稿者によって削除されました。

ツリーへ TOPへ

A03
answererkanade [3月6日 23:19]

そのような関数があったのですか・・・。
すみませんでした。
ご回答ありがとうございました。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
PHPのHTML埋め込み記述について
 このエントリーをはてなブックマークに追加 
A
$_POST["data"] == "男" ? $val = "checked" : $val = "" ; の意味は以下と同じです。 if($_POST["data"] == "男"){ $val = "checked; } e...

>>続きを読む

kende様のご指摘通り、三項演算子を使用する際には、コードの複雑度などを考慮する必要がありますね。書きやすさと共に可読性も追求したいところですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)