質問するログイン新規登録
PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1274閲覧

aタグがあって、target_blankが無ければ付与する処理について

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/02/13 12:07

編集2018/02/13 12:22

0

0

タイトルの通りなのですが、
「aタグが存在していて、target=“blank”が無ければPHPを用いてtarget=“blank”を付与する」という処理を行いたいです。
イメージでは、
if(1、aタグがあるかどうか見る){
2、aタグがあったら、target_blankを付与する
<a href=“URL” +”target=“blank”>}
なのですが、細かい書き方が分かりません。
初心者で伝わらない点もあるかと思いますが、どうかご教授頂ければと思います。

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

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

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

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

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

kei344

2018/02/13 12:10

ご自身で試されたコードを質問文に追記し、「何」が「どのように」わからないのか、コードのどの部分で詰まっているのかなどを具体的に追記されたほうが回答が望めると思います。
yambejp

2018/02/13 12:17

PHPでやるんですか?target_blankとはtarget="_blank"のことでしょうか?それともつなげてtarget_blankなのでしょうか?
退会済みユーザー

退会済みユーザー

2018/02/13 12:20

曖昧な質問で申し訳ありません。PHPでaタグにtarget=“blank”を付けたいです。
guest

回答1

0

ベストアンサー

_blank以外のtargetが設定されているものはどうするのか気になりますが
targetが設定されていないものにtarget="_blank"を付加するのならこうです

PHP

1$str=<<<eof 2test<a href="hoge.htm">ほげ</a>test 3test<a href="fuga.htm" target="fuga">ふが</a>test 4test<a href="piyo.htm" target="_blank">ぴよ</a>test 5eof; 6 7/*文字化け対策*/ 8$meta="<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />\n"; 9$doc=new DOMDocument(); 10$doc->loadHTML($meta.$str); 11$nodes = $doc->getElementsByTagName("a"); 12 13$a=[]; 14foreach($nodes as $node){ 15 if($node->getAttribute("target")==""){ 16 $node->setAttribute("target","_blank"); 17 } 18} 19print $doc->saveHTML();

投稿2018/02/13 12:48

yambejp

総合スコア117975

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

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

退会済みユーザー

退会済みユーザー

2018/02/13 21:54

分かりづらい質問にも関わらず、丁寧に教えてくださりありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問