git.cweiske.de
/
phinde.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix string array access in php 8
[phinde.git]
/
src
/
phinde
/
LinkExtractor
/
Html.php
diff --git
a/src/phinde/LinkExtractor/Html.php
b/src/phinde/LinkExtractor/Html.php
index 4acd19f513017b1eff58c1e49b61763c62fdf184..299ed912869587ced474b71c61a538a3d0f5b571 100644
(file)
--- a/
src/phinde/LinkExtractor/Html.php
+++ b/
src/phinde/LinkExtractor/Html.php
@@
-2,12
+2,13
@@
namespace phinde\LinkExtractor;
use phinde\LinkInfo;
namespace phinde\LinkExtractor;
use phinde\LinkInfo;
+use phinde\Helper;
class Html
{
public function extract(\HTTP_Request2_Response $res)
{
class Html
{
public function extract(\HTTP_Request2_Response $res)
{
- $url =
$res->getEffectiveUrl(
);
+ $url =
Helper::removeAnchor($res->getEffectiveUrl()
);
$linkInfos = array();
$linkInfos = array();
@@
-21,6
+22,13
@@
class Html
$dx = new \DOMXPath($doc);
$dx = new \DOMXPath($doc);
+ $xbase = $dx->evaluate('/html/head/base[@href]')->item(0);
+ if ($xbase) {
+ $base = $base->resolve(
+ $xbase->attributes->getNamedItem('href')->textContent
+ );
+ }
+
$meta = $dx->evaluate('/html/head/meta[@name="robots" and @content]')
->item(0);
if ($meta) {
$meta = $dx->evaluate('/html/head/meta[@name="robots" and @content]')
->item(0);
if ($meta) {
@@
-36,10
+44,10
@@
class Html
$links = $dx->evaluate('//a');
//FIXME: link rel, img, video
$links = $dx->evaluate('//a');
//FIXME: link rel, img, video
- $alreadySeen = array();
+ $alreadySeen = array(
$url => true
);
foreach ($links as $link) {
foreach ($links as $link) {
- $linkTitle =
$link->textContent
;
+ $linkTitle =
Helper::sanitizeTitle($link->textContent)
;
$href = '';
foreach ($link->attributes as $attribute) {
if ($attribute->name == 'href') {
$href = '';
foreach ($link->attributes as $attribute) {
if ($attribute->name == 'href') {
@@
-53,7
+61,7
@@
class Html
}
}
}
}
}
}
- if ($href == '' || $href
{0}
== '#') {
+ if ($href == '' || $href
[0]
== '#') {
//link on this page
continue;
}
//link on this page
continue;
}