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

質問編集履歴

12

修正

2018/02/02 17:11

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,7 @@
1
1
  preg_matchを使った正規表現での取得が上手くいかず、$resultの中身が下記【結果②】のようになってしまいます。
2
2
 
3
- 【実験内容】以降の文字列を取得したいです。
3
+ 【実験内容】以降の文字列を取得した【結果③】が目標となります。
4
4
 
5
- 【結果③】が目標です。
6
-
7
5
  詳しい方いましたらお願いします。
8
6
 
9
7
  下記のコードの中身をそれぞれ確認した結果が以下になります。

11

修正

2018/02/02 17:10

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -52,7 +52,7 @@
52
52
  array(0) { }
53
53
  array(0) { }
54
54
 
55
- ※$body_textにstring(3113)"タイトル...【実験内容】.....【研究者】...【評価】...."のみを入れると上手くいきます。その場合var_dumpするとstring(3100)"【実験内容】.....【研究者】...【評価】....";になります。
55
+ ※$body_textにstring(3113)"タイトル...【実験内容】.....【研究者】...【評価】...."のみを入れると上手くいきます。その場合var_dump($result)するとstring(3100)"【実験内容】.....【研究者】...【評価】....";になります。
56
56
 
57
57
 
58
58
 

10

修正

2018/02/02 17:08

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -32,7 +32,7 @@
32
32
  );
33
33
 
34
34
  //結果①
35
- //var_dump($result);
35
+ //var_dump($body_text);
36
36
  //結果②
37
37
  var_dump($result);
38
38
 

9

修正

2018/02/02 17:07

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -31,6 +31,8 @@
31
31
  $result
32
32
  );
33
33
 
34
+ //結果①
35
+ //var_dump($result);
34
36
  //結果②
35
37
  var_dump($result);
36
38
 

8

追記

2018/02/02 17:07

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,9 @@
1
- preg_matchが上手くいかず、$resultの中身が下記のようになってしまいます。
1
+ preg_matchを使った正規表現での取得が上手くいかず、$resultの中身が下記【結果②】のようになってしまいます。
2
2
 
3
- 【実験内容】以降を取得したいです。
3
+ 【実験内容】以降の文字列を取得したいです。
4
4
 
5
+ 【結果③】が目標です。
6
+
5
7
  詳しい方いましたらお願いします。
6
8
 
7
9
  下記のコードの中身をそれぞれ確認した結果が以下になります。
@@ -11,51 +13,62 @@
11
13
 
12
14
  <?
13
15
 
14
- // 取得した文字列
16
+ // 取得した文字列
15
- $body_text="各ページから取得した文字列が入っています";
17
+ $body_text="タイトル...【実験内容】.....【研究者】...【評価】....";
16
18
 
19
+ //file_gets_contensで各ページのURL及び内容は取得できています。
20
+ //その各ページの内容に【実験内容】という文字が含まれています。
21
+ //各ページの【実験内容】以降を取得したいです。
22
+ //下記のコード②のようにstrposだと上手【実験内容】以降が取得できます。
23
+ //誤字脱字お許しください。
24
+ //【結果③】を目指しています。
25
+
26
+
17
- // 【実験内容】含む以降を取得してみる
27
+ // 【実験内容】含む以降preg_match使って取得してみる
18
28
  preg_match(
19
29
  '/【実験内容】.+/u',
20
30
  $body_text,
21
31
  $result
22
32
  );
23
33
 
34
+ //結果②
24
35
  var_dump($result);
25
36
 
26
37
  ?>
27
38
  ```
28
39
 
29
40
  $body_text→var_dump
30
- 【結果】
41
+ 【結果
31
- string(3113)"...【実験内容】"
42
+ string(3113)"タイトル...【実験内容】.....【研究者】...【評価】...."
32
- string(4569)"...【実験内容】"
43
+ string(4569)"タイトル...【実験内容】.....【研究者】...【評価】...."
33
- string(7031)"...【実験内容】"
44
+ string(7031)"タイトル...【実験内容】.....【研究者】...【評価】...."
34
45
 
35
46
 
36
47
  $result→var_dump
37
- 【結果】
48
+ 【結果
38
49
  array(0) { }
39
50
  array(0) { }
40
51
  array(0) { }
41
52
 
42
- ※$body_textに".....【実験内容】....";のみを入れた場合は上手くいきます。その場合var_dumpするとstring(3113)のみなります。
53
+ ※$body_textにstring(3113)"タイトル...【実験内容】.....【研究者】...【評価】...."のみを入れると上手くいきます。その場合var_dumpするとstring(3100)"【実験内容】.....【研究者】...【評価】....";になります。
43
54
 
44
- 取得したいページの内容
45
55
 
46
- 【タイトル】...
47
56
 
57
+ ```PHP
58
+ //上手くいったパターン
48
- 【実験内容】.....
59
+ //コード②
49
60
 
50
- 【研究者】...
51
-
52
- 【評価】....
53
-
54
- ※こういう内容のページが数十ページあります。
55
- ※ちなみに下記のコードだと上手くいきます。
56
-
57
61
  //strposを使う方法
58
62
  //【の位置を見つける
59
63
  $sample=strpos($body_text, "【");
60
64
  //【以降を取得
61
- $result=substr($body_text, $sample);
65
+ $result=substr($body_text, $sample);
66
+
67
+ var_dump($result);
68
+ ?>
69
+ ```
70
+
71
+ 【結果③】
72
+ string(3100)"【実験内容】.....【研究者】...【評価】...."
73
+ string(4502)"【実験内容】.....【研究者】...【評価】...."
74
+ string(7003)"【実験内容】.....【研究者】...【評価】...."

7

修正

2018/02/02 17:05

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- PHPのpreg_matchを使った正規表現が上手くきなです。
1
+ PHPのpreg_matchを使った正規表現で特定の文字以降を取得した
body CHANGED
@@ -1,5 +1,7 @@
1
1
  preg_matchが上手くいかず、$resultの中身が下記のようになってしまいます。
2
2
 
3
+ 【実験内容】以降を取得したいです。
4
+
3
5
  詳しい方いましたらお願いします。
4
6
 
5
7
  下記のコードの中身をそれぞれ確認した結果が以下になります。
@@ -41,6 +43,8 @@
41
43
 
42
44
  取得したいページの内容
43
45
 
46
+ 【タイトル】...
47
+
44
48
  【実験内容】.....
45
49
 
46
50
  【研究者】...

6

修正

2018/02/02 16:29

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- preg_matchが上手かず、$resultの中身が下記のようになってしまいます。
1
+ preg_matchが上手くいかず、$resultの中身が下記のようになってしまいます。
2
2
 
3
3
  詳しい方いましたらお願いします。
4
4
 

5

一部追記

2018/02/02 16:19

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -37,4 +37,21 @@
37
37
  array(0) { }
38
38
  array(0) { }
39
39
 
40
- ※$body_textに".....【実験内容】....";のみを入れた場合は上手くいきます。その場合var_dumpするとstring(3113)のみなります。
40
+ ※$body_textに".....【実験内容】....";のみを入れた場合は上手くいきます。その場合var_dumpするとstring(3113)のみなります。
41
+
42
+ 取得したいページの内容
43
+
44
+ 【実験内容】.....
45
+
46
+ 【研究者】...
47
+
48
+ 【評価】....
49
+
50
+ ※こういう内容のページが数十ページあります。
51
+ ※ちなみに下記のコードだと上手くいきます。
52
+
53
+ //strposを使う方法
54
+ //【の位置を見つける
55
+ $sample=strpos($body_text, "【");
56
+ //【以降を取得
57
+ $result=substr($body_text, $sample);

4

一部修正

2018/02/02 16:19

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -10,7 +10,7 @@
10
10
  <?
11
11
 
12
12
  // 取得したい文字列
13
- $body_text=".....【実験内容】....";
13
+ $body_text="各ページから取得した文字列が入っています";
14
14
 
15
15
  // 【実験内容】含む以降を取得してみる
16
16
  preg_match(

3

一部修正

2018/02/02 16:15

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -4,24 +4,10 @@
4
4
 
5
5
  下記のコードの中身をそれぞれ確認した結果が以下になります。
6
6
 
7
- $body_text→var_dump
8
- 【結果】
9
- string(3113)"...【実験内容】"
10
- string(4569)"...【実験内容】"
11
- string(7031)"...【実験内容】"
12
7
 
13
-
14
- $result→var_dump
15
- 【結果】
16
- array(0) { }
17
- array(0) { }
18
- array(0) { }
19
-
20
- ※$body_textに".....【実験内容】....";のみを入れた場合は上手くいきます。その場合var_dumpするとstring(3113)のみなります。
21
-
22
8
  ```PHP
23
9
 
24
- <?php
10
+ <?
25
11
 
26
12
  // 取得したい文字列
27
13
  $body_text=".....【実験内容】....";
@@ -36,4 +22,19 @@
36
22
  var_dump($result);
37
23
 
38
24
  ?>
39
- ```
25
+ ```
26
+
27
+ $body_text→var_dump
28
+ 【結果】
29
+ string(3113)"...【実験内容】"
30
+ string(4569)"...【実験内容】"
31
+ string(7031)"...【実験内容】"
32
+
33
+
34
+ $result→var_dump
35
+ 【結果】
36
+ array(0) { }
37
+ array(0) { }
38
+ array(0) { }
39
+
40
+ ※$body_textに".....【実験内容】....";のみを入れた場合は上手くいきます。その場合var_dumpするとstring(3113)のみなります。

2

一部修正

2018/02/02 16:13

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  詳しい方いましたらお願いします。
4
4
 
5
+ 下記のコードの中身をそれぞれ確認した結果が以下になります。
6
+
5
7
  $body_text→var_dump
6
8
  【結果】
7
9
  string(3113)"...【実験内容】"

1

タイトル修正

2018/02/02 16:12

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- PHPのpreg_matchを使った正規表現上手くいかない
1
+ PHPのpreg_matchを使った正規表現上手くできないです。
body CHANGED
File without changes