teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

7

エラー表示追記

2016/10/20 07:18

投稿

takesu
takesu

スコア14

title CHANGED
File without changes
body CHANGED
@@ -31,6 +31,11 @@
31
31
 
32
32
  $_SERVER['HTTP_HOST']と$program[ 'url' ]に一致するURLがあれば、urlとリンクテキストを出力、一致しなければ target="_blank"が記載されたものが出力としたい。
33
33
  上記の修正後コードでは、エラーはでていませんが、すべてにtarget="_blank"が付与されてしまいます。
34
+ →エラーでておりました。
35
+ ```
36
+ <?php elseif (preg_match($_SERVER['HTTP_HOST'],$day_program[ 'url' ])) : ?>
37
+ ```
38
+ がエラーになっています。
34
39
 
35
40
  ###補足情報(言語/FW/ツール等のバージョンなど)
36
41
 

6

コードで囲む

2016/10/20 07:18

投稿

takesu
takesu

スコア14

title CHANGED
File without changes
body CHANGED
@@ -17,6 +17,7 @@
17
17
  ```
18
18
 
19
19
  修正後
20
+ ```
20
21
  <?php if ( $program[ 'url' ] == '') : ?>
21
22
  <div>リンクテキスト</div>
22
23
  <?php elseif (preg_match($_SERVER['HTTP_HOST'],$program[ 'url' ])) : ?>
@@ -24,6 +25,7 @@
24
25
  <?php else :?>
25
26
  <div><a href="<?=$program[ 'url' ]?>" target="_blank">リンクテキスト</a></div>
26
27
  <?php endif; ?>
28
+ ```
27
29
 
28
30
  ###試したこと
29
31
 

5

コードとやりたいことを修正

2016/10/20 07:13

投稿

takesu
takesu

スコア14

title CHANGED
File without changes
body CHANGED
@@ -16,11 +16,19 @@
16
16
  <?php endif; ?>
17
17
  ```
18
18
 
19
+ 修正後
20
+ <?php if ( $program[ 'url' ] == '') : ?>
21
+ <div>リンクテキスト</div>
22
+ <?php elseif (preg_match($_SERVER['HTTP_HOST'],$program[ 'url' ])) : ?>
23
+ <div><a href="<?=$program[ 'url' ]?>">リンクテキスト</a></div>
24
+ <?php else :?>
25
+ <div><a href="<?=$program[ 'url' ]?>" target="_blank">リンクテキスト</a></div>
26
+ <?php endif; ?>
27
+
19
28
  ###試したこと
20
29
 
21
- $_SERVER['HTTP_HOST']で現在のドメイ取得して指定したドメイン名同じ場合で分岐させたい。
30
+ $_SERVER['HTTP_HOST']と$program[ 'url' ]に一致するURLがあれば、urlとリクテキスト出力一致なければ target="_blank"が記載されものが出力たい。
22
- 上記コードで$_SERVER['HTTP_HOST']を記載しているところがエラーがています。
31
+ 上記の修正後コードでは、エラーはでていません、すべにtarget="_blank"が付与されてしまいます。
23
- 間違いがあると思うのですが、発見できません。
24
32
 
25
33
  ###補足情報(言語/FW/ツール等のバージョンなど)
26
34
 

4

分岐部分を修正

2016/10/20 07:12

投稿

takesu
takesu

スコア14

title CHANGED
File without changes
body CHANGED
@@ -9,7 +9,7 @@
9
9
  ```php
10
10
  <?php if ( $program[ 'url' ] == '') : ?>
11
11
  <div>リンクテキスト</div>
12
- <?php else if ($_SERVER['HTTP_HOST']=='https://指定したドメイン名/') : ?>
12
+ <?php elseif (strstr($_SERVER['HTTP_HOST'],'○○○○○○○○.com/')) : ?>
13
13
  <div><a href="<?=$program[ 'url' ]?>">リンクテキスト</a></div>
14
14
  <?php else :?>
15
15
  <div><a href="<?=$program[ 'url' ]?>" target="_blank">リンクテキスト</a></div>

3

phpで処理するコードに修正

2016/10/20 06:31

投稿

takesu
takesu

スコア14

title CHANGED
File without changes
body CHANGED
@@ -1,48 +1,27 @@
1
1
  ###前提・実現したいこと
2
2
 
3
3
 
4
- 取得したURLが現在のドメインの場合は、そのリンクにtarget="_blank"付与しないということを行いたいです。取得したURLが現在のドメインでない場合はtarget="_blank"を付与します
4
+ $_SERVER['HTTP_HOST']で現在のドメインを取得して、指定したドメイン名と同じ場合で分岐させたい
5
5
 
6
- jsに処理を記載して、php内に呼び出したいです。
7
6
 
8
-
9
-
10
7
  ###該当のソースコード
11
8
 
12
- .js
13
-
14
- ```javascript
15
- function TargetBlank() {
16
- $(window).bind("load", function(){
17
- var hostname = window.location.hostname ;
18
- if(document.URL.match(/hostname/)) {
19
- }
20
- else{
21
- document.write('target="_blank"')
22
- });
23
- }
24
- ```
25
-
26
-
27
-
28
-
29
- .php
30
-
31
9
  ```php
32
10
  <?php if ( $program[ 'url' ] == '') : ?>
11
+ <div>リンクテキスト</div>
12
+ <?php else if ($_SERVER['HTTP_HOST']=='https://指定したドメイン名/') : ?>
13
+ <div><a href="<?=$program[ 'url' ]?>">リンクテキスト</a></div>
33
- <?php else : ?>
14
+ <?php else :?>
34
- <div><a href="<?=$program[ 'url' ]?>" <?php $TargetBlank ?>></a></div>
15
+ <div><a href="<?=$program[ 'url' ]?>" target="_blank">リンクテキスト</a></div>
35
16
  <?php endif; ?>
36
17
  ```
37
18
 
38
19
  ###試したこと
39
20
 
21
+ $_SERVER['HTTP_HOST']で現在のドメイン名を取得して、指定したドメイン名と同じ場合で分岐させたい。
40
- 上記コードは間違っていますが、やりたい意図は汲んでいただけかないまして記載しました
22
+ 上記コードで$_SERVER['HTTP_HOST']を記載しているところがエラーが出ていま
23
+ 間違いがあると思うのですが、発見できません。
41
24
 
42
-
43
-
44
- $program[ 'url' ]と現在のドメインが一部一致しているならtarget="_blank"を付与しない処理を行いたい。
45
-
46
25
  ###補足情報(言語/FW/ツール等のバージョンなど)
47
26
 
48
27
  javascript、php

2

コード整理

2016/10/20 05:57

投稿

takesu
takesu

スコア14

title CHANGED
File without changes
body CHANGED
@@ -13,23 +13,13 @@
13
13
 
14
14
  ```javascript
15
15
  function TargetBlank() {
16
-
17
16
  $(window).bind("load", function(){
18
-
19
- var hostname = window.location.hostname ;
17
+ var hostname = window.location.hostname ;
20
-
21
- if(document.URL.match(/hostname/)) {
18
+ if(document.URL.match(/hostname/)) {
22
-
23
- }
19
+ }
24
-
25
- else{
20
+ else{
26
-
27
- document.write('target="_blank"')
21
+ document.write('target="_blank"')
28
-
29
-
30
-
31
22
  });
32
-
33
23
  }
34
24
  ```
35
25
 
@@ -40,16 +30,9 @@
40
30
 
41
31
  ```php
42
32
  <?php if ( $program[ 'url' ] == '') : ?>
43
-
44
-
45
-
46
- <?php else : ?>
33
+ <?php else : ?>
47
-
48
-
49
-
50
- <div><a href="<?=$program[ 'url' ]?>" <?php $TargetBlank ?>></a></div>
34
+ <div><a href="<?=$program[ 'url' ]?>" <?php $TargetBlank ?>></a></div>
51
-
52
- <?php endif; ?>
35
+ <?php endif; ?>
53
36
  ```
54
37
 
55
38
  ###試したこと

1

失礼しました。コードブロックで囲いました。

2016/10/20 05:31

投稿

takesu
takesu

スコア14

title CHANGED
File without changes
body CHANGED
@@ -11,6 +11,7 @@
11
11
 
12
12
  .js
13
13
 
14
+ ```javascript
14
15
  function TargetBlank() {
15
16
 
16
17
  $(window).bind("load", function(){
@@ -25,18 +26,19 @@
25
26
 
26
27
  document.write('target="_blank"')
27
28
 
28
- }
29
+
29
30
 
30
31
  });
31
32
 
32
33
  }
34
+ ```
33
35
 
34
36
 
35
37
 
36
38
 
37
-
38
39
  .php
39
40
 
41
+ ```php
40
42
  <?php if ( $program[ 'url' ] == '') : ?>
41
43
 
42
44
 
@@ -48,6 +50,7 @@
48
50
  <div><a href="<?=$program[ 'url' ]?>" <?php $TargetBlank ?>></a></div>
49
51
 
50
52
  <?php endif; ?>
53
+ ```
51
54
 
52
55
  ###試したこと
53
56