回答編集履歴
3
追加
answer
CHANGED
@@ -27,4 +27,17 @@
|
|
27
27
|
int(24)
|
28
28
|
}
|
29
29
|
```
|
30
|
-
になるので、ちゃんと1件除外されて、24件抽出できているようです。
|
30
|
+
になるので、ちゃんと1件除外されて、24件抽出できているようです。
|
31
|
+
#追記2
|
32
|
+
`item(0)`の`nodeValue`は空で正常でしょう。
|
33
|
+
`item(0)->nodeValue`から`item(23)->nodeValue`までを繋ぎます。
|
34
|
+
|
35
|
+
```PHP
|
36
|
+
$body = $xpath->query('//body/*[not(self::header)]');
|
37
|
+
$nodevalue="";
|
38
|
+
for($i=0; $i<$body->length; $i++){
|
39
|
+
$nodevalue .= $body->item($i)->nodeValue;
|
40
|
+
}
|
41
|
+
echo($nodevalue);
|
42
|
+
```
|
43
|
+
`script`タグの内容がじゃまな気がします。
|
2
補足
answer
CHANGED
@@ -2,6 +2,13 @@
|
|
2
2
|
`header`ノードを`removeChild`するのでしょうね。
|
3
3
|
|
4
4
|
#追記
|
5
|
+
> headerタグを抜いた状態のbodyタグを抽出したい
|
6
|
+
|
7
|
+
ではなく、
|
8
|
+
> bodyタグの子要素のうちheaderタグ以外のタグを抽出したい
|
9
|
+
|
10
|
+
ということで。
|
11
|
+
|
5
12
|
```PHP
|
6
13
|
$all = $xpath->query('//body/*');
|
7
14
|
$not_header = $xpath->query('//body/*[not(self::header)]');
|
1
コメントを受けての追記
answer
CHANGED
@@ -1,2 +1,23 @@
|
|
1
1
|
XPathでは無理では?
|
2
|
-
`header`ノードを`removeChild`するのでしょうね。
|
2
|
+
`header`ノードを`removeChild`するのでしょうね。
|
3
|
+
|
4
|
+
#追記
|
5
|
+
```PHP
|
6
|
+
$all = $xpath->query('//body/*');
|
7
|
+
$not_header = $xpath->query('//body/*[not(self::header)]');
|
8
|
+
|
9
|
+
var_dump($all);
|
10
|
+
var_dump($not_header);
|
11
|
+
```
|
12
|
+
で、
|
13
|
+
```Plain
|
14
|
+
object(DOMNodeList)#28 (1) {
|
15
|
+
["length"]=>
|
16
|
+
int(25)
|
17
|
+
}
|
18
|
+
object(DOMNodeList)#29 (1) {
|
19
|
+
["length"]=>
|
20
|
+
int(24)
|
21
|
+
}
|
22
|
+
```
|
23
|
+
になるので、ちゃんと1件除外されて、24件抽出できているようです。
|