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

質問編集履歴

5

タイトル更新

2017/11/28 09:47

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 【laravel】javascriptファイルにPHPの変数を渡す方法
1
+ 【laravel】javascriptファイルにPHPの変数を渡す方法 ※特殊ケースです
body CHANGED
File without changes

4

修正

2017/11/28 09:47

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -80,14 +80,8 @@
80
80
  $file = 'C:\X_DRIVE\asp\home\laravel\resources\kaigokensaku.blade.php';
81
81
  $fileContent = file_get_contents($file);
82
82
  $fileContent = str_replace('&', '&', $fileContent);
83
- $config = array(
84
- // 'drop-empty-elements' => false, // 空の要素を削除しない
85
- 'hide-comments' => true, // コメントを削除
86
- 'output-xhtml' => true, // xhtml に変換
87
- );
88
83
 
89
- $tidy->parseString($fileContent, $config, 'utf8');
84
+
90
- $tidy->cleanRepair();
91
85
  $xml = simplexml_load_string($tidy);
92
86
  ?>
93
87
  ```

3

追記②

2017/11/28 09:25

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -69,5 +69,60 @@
69
69
 
70
70
  が出力されました。
71
71
 
72
+ ##追記②
73
+ jsにphpの変数を渡せなかったのは、私のコードが下記のようになっていたからでした。
74
+ ```php
75
+ <?php
76
+ $project = 'aaaa';
72
77
 
78
+ $uu = exec('C:\X_DRIVE\asp\home\laravel\vendor\bin\phantomjs.exe C:\X_DRIVE\asp\home\laravel\public\js\jump.js');dd($uu);
79
+ // 取得したhtmlをkaigokensaku.blade.phpに出力・取得
80
+ $file = 'C:\X_DRIVE\asp\home\laravel\resources\kaigokensaku.blade.php';
81
+ $fileContent = file_get_contents($file);
82
+ $fileContent = str_replace('&', '&amp;', $fileContent);
83
+ $config = array(
84
+ // 'drop-empty-elements' => false, // 空の要素を削除しない
85
+ 'hide-comments' => true, // コメントを削除
86
+ 'output-xhtml' => true, // xhtml に変換
87
+ );
88
+
89
+ $tidy->parseString($fileContent, $config, 'utf8');
90
+ $tidy->cleanRepair();
91
+ $xml = simplexml_load_string($tidy);
92
+ ?>
93
+ ```
94
+ そこで下記のように変更を加えてみました。
95
+ ```php
96
+ $project = 'aaaaa';
97
+ ?>
98
+ <script>
99
+ var url = <?php echo $project;?>;
100
+ </script>
101
+ <?php
102
+ exec('C:\X_DRIVE\asp\home\laravel\vendor\bin\phantomjs.exe C:\X_DRIVE\asp\home\laravel\public\js\jump.js');
103
+ ```
104
+ しかし、このようにした結果、今度はjump.jsファイルにて処理がうまく走らなくなりました。
105
+
106
+ ```javascript
107
+ var page = require('webpage').create();
108
+ var fs = require('fs');
109
+ page.open(url, function(status) {
110
+ if (status === 'success') {
111
+ page.switchToFrame(0);
112
+ // HTML を書き出し
113
+ var html = page.evaluate(function() {
114
+ return document.getElementsByClassName('contents')[0].innerHTML;
115
+ });
116
+ fs.write('resources\kaigokensaku.blade.php', html, 'w');
117
+ }
118
+ // exit しないと終了しない
119
+ phantom.exit();
120
+ });
121
+
122
+ ```
123
+ 上記のjsファイルにてurlを参照し、そのページのhtmlをローカルのblade.phpファイルに出力する構造になっています。
124
+
125
+ ご助力いただけないでしょうか。
126
+
127
+
73
128
  何卒よろしくお願いいたします。

2

追記①

2017/11/28 09:21

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -35,4 +35,39 @@
35
35
  ```
36
36
  ↑のパターン②ではエラーは出ませんがurlをopenすることができていません。
37
37
 
38
+ ##追記①
39
+ phpファイル
40
+ ```
41
+ <?php
42
+ $project = 'aaaa';
43
+ ?>
44
+ <script type="text/javascript" src="jump.php"></script>
45
+ ```
46
+ jsファイル
47
+ ```
48
+ console.log('Hello, world!');
49
+ var page = require('webpage').create();
50
+ var fs = require('fs');
51
+ var url = "<?php echo $project; ?>";console.log(url);
52
+ page.open(url, function(status) {
53
+ if (status === 'success') {
54
+ page.switchToFrame(0);
55
+ // HTML を書き出し
56
+ var html = page.evaluate(function() {
57
+ return document.getElementsByClassName('contents')[0].innerHTML;
58
+ });
59
+ fs.write('resources\kaigokensaku.blade.php', html, 'w');
60
+ }
61
+ // exit しないと終了しない
62
+ phantom.exit();
63
+ });
64
+
65
+ ```
66
+ 上記のjsファイルで「console.log(url);」をかけて出力を確認したところ、
67
+
68
+ 「string() "<?php echo $project; ?>"」
69
+
70
+ が出力されました。
71
+
72
+
38
73
  何卒よろしくお願いいたします。

1

修正

2017/11/27 13:33

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -20,7 +20,7 @@
20
20
  });
21
21
 
22
22
  ```
23
- ↑のパターンでは、そもそもphpファイル内、「<?php echo $projectListUrl;?>」にてundefinedのエラーが発生しています。
23
+ ↑のパターンでは、そもそもphpファイル内、「<?php echo $project;?>」にてundefinedのエラーが発生しています。
24
24
 
25
25
  ###パターン②
26
26
  ```php