add Body::findLinks method

This commit is contained in:
yggverse 2024-04-03 16:30:08 +03:00
parent e3f4786f9e
commit 008d191d3c
2 changed files with 32 additions and 0 deletions

View File

@ -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.

View File

@ -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;
}
}