Skip to content

Commit 659566f

Browse files
Update webscraper.php
1 parent adc5771 commit 659566f

1 file changed

Lines changed: 18 additions & 12 deletions

File tree

webscraper.php

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ private function convert2XPath($query){
3030
$xpath = $query;
3131

3232
$xpath = preg_replace(
33-
[
33+
[
3434
"/::/",
3535
"/([^,])\s/",
3636
"/\/>\//",
@@ -225,16 +225,22 @@ public function prependHtml($html){
225225
$this->obj = null;
226226
}
227227

228-
public function delete($keepinner = false){
228+
public function remove($keepinner = false){
229229

230-
foreach($this->obj as $item){
231-
if (!$keepinner){
232-
$item->parentNode->removeChild($item);
233-
} else {
234-
while ($item->firstChild instanceof DOMNode) {
235-
$item->parentNode->insertBefore($item->firstChild, $item);
230+
if ($this->query != "::attributes") {
231+
foreach($this->obj as $item){
232+
if (!$keepinner){
233+
$item->parentNode->removeChild($item);
234+
} else {
235+
while ($item->firstChild instanceof DOMNode) {
236+
$item->parentNode->insertBefore($item->firstChild, $item);
237+
}
238+
$item->parentNode->removeChild($item);
236239
}
237-
$item->parentNode->removeChild($item);
240+
}
241+
} else {
242+
foreach($this->obj as $attr){
243+
$attr->parentNode->removeAttribute($attr->nodeName);
238244
}
239245
}
240246

@@ -253,15 +259,15 @@ public function unwrap(){
253259

254260
private function breakUp($tag, &$html, &$keys, &$vals, &$attrs){
255261

256-
$html = preg_replace_callback(
257-
'/([^=<>\s]*)=[\'|"]([^=]*)[\'|"]/',
262+
$html = preg_replace_callback(
263+
'/([^=<>\s]*)=[\'|"]([^=]*)[\'|"]/',
258264
function($m){
259265
return "{$m[1]} => {$m[2]}]";
260266
},
261267
$html
262268
);
263269
$html = preg_replace(
264-
["/$tag/", "/[^=]>/", "/</", "/\//"],
270+
["/$tag/", "/[^=]>/", "/</", "/\//"],
265271
"",
266272
$html
267273
);

0 commit comments

Comments
 (0)