質問編集履歴

7

エラー表示追記

2016/10/20 07:18

投稿

takesu
takesu

スコア14

test CHANGED
File without changes
test CHANGED
@@ -64,6 +64,16 @@
64
64
 
65
65
  上記の修正後コードでは、エラーはでていませんが、すべてにtarget="_blank"が付与されてしまいます。
66
66
 
67
+ →エラーでておりました。
68
+
69
+ ```
70
+
71
+ <?php elseif (preg_match($_SERVER['HTTP_HOST'],$day_program[ 'url' ])) : ?>
72
+
73
+ ```
74
+
75
+ がエラーになっています。
76
+
67
77
 
68
78
 
69
79
  ###補足情報(言語/FW/ツール等のバージョンなど)

6

コードで囲む

2016/10/20 07:18

投稿

takesu
takesu

スコア14

test CHANGED
File without changes
test CHANGED
@@ -36,6 +36,8 @@
36
36
 
37
37
  修正後
38
38
 
39
+ ```
40
+
39
41
  <?php if ( $program[ 'url' ] == '') : ?>
40
42
 
41
43
  <div>リンクテキスト</div>
@@ -49,6 +51,8 @@
49
51
  <div><a href="<?=$program[ 'url' ]?>" target="_blank">リンクテキスト</a></div>
50
52
 
51
53
  <?php endif; ?>
54
+
55
+ ```
52
56
 
53
57
 
54
58
 

5

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

2016/10/20 07:13

投稿

takesu
takesu

スコア14

test CHANGED
File without changes
test CHANGED
@@ -34,15 +34,31 @@
34
34
 
35
35
 
36
36
 
37
+ 修正後
38
+
39
+ <?php if ( $program[ 'url' ] == '') : ?>
40
+
41
+ <div>リンクテキスト</div>
42
+
43
+ <?php elseif (preg_match($_SERVER['HTTP_HOST'],$program[ 'url' ])) : ?>
44
+
45
+ <div><a href="<?=$program[ 'url' ]?>">リンクテキスト</a></div>
46
+
47
+ <?php else :?>
48
+
49
+ <div><a href="<?=$program[ 'url' ]?>" target="_blank">リンクテキスト</a></div>
50
+
51
+ <?php endif; ?>
52
+
53
+
54
+
37
55
  ###試したこと
38
56
 
39
57
 
40
58
 
41
- $_SERVER['HTTP_HOST']で現在のドメイ取得して指定したドメイン名同じ場合で分岐させたい。
59
+ $_SERVER['HTTP_HOST']と$program[ 'url' ]に一致するURLがあれば、urlとリクテキスト出力一致なければ target="_blank"が記載されものが出力たい。
42
60
 
43
- 上記コードで$_SERVER['HTTP_HOST']を記載しているところがエラーがています。
61
+ 上記の修正後コードでは、エラーはでていません、すべにtarget="_blank"が付与されてしまいます。
44
-
45
- 間違いがあると思うのですが、発見できません。
46
62
 
47
63
 
48
64
 

4

分岐部分を修正

2016/10/20 07:12

投稿

takesu
takesu

スコア14

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  <div>リンクテキスト</div>
22
22
 
23
- <?php else if ($_SERVER['HTTP_HOST']=='https://指定したドメイン名/') : ?>
23
+ <?php elseif (strstr($_SERVER['HTTP_HOST'],'○○○○○○○○.com/')) : ?>
24
24
 
25
25
  <div><a href="<?=$program[ 'url' ]?>">リンクテキスト</a></div>
26
26
 

3

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

2016/10/20 06:31

投稿

takesu
takesu

スコア14

test CHANGED
File without changes
test CHANGED
@@ -4,13 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- 取得したURLが現在のドメインの場合は、そのリンクにtarget="_blank"付与しないということを行いたいです。取得したURLが現在のドメインで場合はtarget="_blank"を付与します
7
+ $_SERVER['HTTP_HOST']で現在のドメインを取得して、指定したドメイン名と同じ場合分岐させたい。
8
-
9
-
10
-
11
- jsに処理を記載して、php内に呼び出したいです。
12
-
13
-
14
8
 
15
9
 
16
10
 
@@ -20,51 +14,19 @@
20
14
 
21
15
 
22
16
 
23
- .js
24
-
25
-
26
-
27
- ```javascript
28
-
29
- function TargetBlank() {
30
-
31
- $(window).bind("load", function(){
32
-
33
- var hostname = window.location.hostname ;
34
-
35
- if(document.URL.match(/hostname/)) {
36
-
37
- }
38
-
39
- else{
40
-
41
- document.write('target="_blank"')
42
-
43
- });
44
-
45
- }
46
-
47
- ```
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
- .php
58
-
59
-
60
-
61
17
  ```php
62
18
 
63
19
  <?php if ( $program[ 'url' ] == '') : ?>
64
20
 
65
- <?php else : ?>
21
+ <div>リンクテキスト</div>
66
22
 
23
+ <?php else if ($_SERVER['HTTP_HOST']=='https://指定したドメイン名/') : ?>
24
+
25
+ <div><a href="<?=$program[ 'url' ]?>">リンクテキスト</a></div>
26
+
27
+ <?php else :?>
28
+
67
- <div><a href="<?=$program[ 'url' ]?>" <?php $TargetBlank ?>></a></div>
29
+ <div><a href="<?=$program[ 'url' ]?>" target="_blank">リンクテキスト</a></div>
68
30
 
69
31
  <?php endif; ?>
70
32
 
@@ -76,15 +38,11 @@
76
38
 
77
39
 
78
40
 
79
- 上記コーは間違っいますがやりい意図は汲んだけるかなと思まして記載しました
41
+ $_SERVER['HTTP_HOST']で現在のメイン名を取得して、指定しドメイン名と同じ場合分岐させたい。
80
42
 
43
+ 上記コードで$_SERVER['HTTP_HOST']を記載しているところがエラーが出ています。
81
44
 
82
-
83
-
84
-
85
-
86
-
87
- $program[ 'url' ]現在ドメイン一部一致しているならtarget="_blank"を付与しない処理を行いたい
45
+ 間違いがある思うです、発見できません
88
46
 
89
47
 
90
48
 

2

コード整理

2016/10/20 05:57

投稿

takesu
takesu

スコア14

test CHANGED
File without changes
test CHANGED
@@ -28,39 +28,19 @@
28
28
 
29
29
  function TargetBlank() {
30
30
 
31
-
32
-
33
31
  $(window).bind("load", function(){
34
32
 
33
+ var hostname = window.location.hostname ;
35
34
 
35
+ if(document.URL.match(/hostname/)) {
36
36
 
37
- var hostname = window.location.hostname ;
37
+ }
38
38
 
39
+ else{
39
40
 
40
-
41
- if(document.URL.match(/hostname/)) {
42
-
43
-
44
-
45
- }
46
-
47
-
48
-
49
- else{
50
-
51
-
52
-
53
- document.write('target="_blank"')
41
+ document.write('target="_blank"')
54
-
55
-
56
-
57
-
58
-
59
-
60
42
 
61
43
  });
62
-
63
-
64
44
 
65
45
  }
66
46
 
@@ -82,25 +62,11 @@
82
62
 
83
63
  <?php if ( $program[ 'url' ] == '') : ?>
84
64
 
65
+ <?php else : ?>
85
66
 
67
+ <div><a href="<?=$program[ 'url' ]?>" <?php $TargetBlank ?>></a></div>
86
68
 
87
-
88
-
89
-
90
-
91
- <?php else : ?>
92
-
93
-
94
-
95
-
96
-
97
-
98
-
99
- <div><a href="<?=$program[ 'url' ]?>" <?php $TargetBlank ?>></a></div>
100
-
101
-
102
-
103
- <?php endif; ?>
69
+ <?php endif; ?>
104
70
 
105
71
  ```
106
72
 

1

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

2016/10/20 05:31

投稿

takesu
takesu

スコア14

test CHANGED
File without changes
test CHANGED
@@ -23,6 +23,8 @@
23
23
  .js
24
24
 
25
25
 
26
+
27
+ ```javascript
26
28
 
27
29
  function TargetBlank() {
28
30
 
@@ -52,7 +54,7 @@
52
54
 
53
55
 
54
56
 
55
- }
57
+
56
58
 
57
59
 
58
60
 
@@ -62,7 +64,7 @@
62
64
 
63
65
  }
64
66
 
65
-
67
+ ```
66
68
 
67
69
 
68
70
 
@@ -75,6 +77,8 @@
75
77
  .php
76
78
 
77
79
 
80
+
81
+ ```php
78
82
 
79
83
  <?php if ( $program[ 'url' ] == '') : ?>
80
84
 
@@ -97,6 +101,8 @@
97
101
 
98
102
 
99
103
  <?php endif; ?>
104
+
105
+ ```
100
106
 
101
107
 
102
108