Browse Source

add Body::findLinks method

main 0.4.0
yggverse 6 months ago
parent
commit
008d191d3c
  1. 10
      README.md
  2. 22
      src/Gemtext/Body.php

10
README.md

@ -86,6 +86,16 @@ var_dump( @@ -86,6 +86,16 @@ var_dump(
);
```
#### Body::findLinks
Find context links by protocol as argument, `gemini` by default
```
var_dump(
$body->findLinks('http') // returns array of http links found
);
```
### Link
Inline links parser.

22
src/Gemtext/Body.php

@ -83,4 +83,26 @@ class Body @@ -83,4 +83,26 @@ class Body
return $matches;
}
public function findLinks(string $protocol = 'gemini'): array
{
$matches = [];
foreach ($this->_lines as $line)
{
if (preg_match('/' . $protocol . ':\/\/(.*)[\s\S\'"]*/', trim($line), $match))
{
$matches[] =
sprintf(
'%s://%s',
$protocol,
trim(
$match[1]
)
);
}
}
return $matches;
}
}
Loading…
Cancel
Save