Browse Source

add the line methods

main 0.8.0
yggverse 8 months ago
parent
commit
fc3b82a052
  1. 8
      README.md
  2. 14
      src/Gemtext/Body.php

8
README.md

@ -119,10 +119,12 @@ Basic methods to work with `text/gemini` documents
``` php ``` php
$body = new \Yggverse\Gemini\Gemtext\Body( $body = new \Yggverse\Gemini\Gemtext\Body(
$response->getBody() // gemtext body from client response or .gmi file $response->getBody() // gemtext body from client response or .gmi file content
); );
``` ```
#### Body::getLines
#### Body::getLine
#### Body::getH1 #### Body::getH1
#### Body::getH2 #### Body::getH2
#### Body::getH3 #### Body::getH3
@ -130,7 +132,7 @@ $body = new \Yggverse\Gemini\Gemtext\Body(
``` php ``` php
var_dump( var_dump(
$body->getLinks() // returns array of inline links $body->getLinks() // returns array of links (with line number in key)
); );
``` ```
@ -140,7 +142,7 @@ Find context links by protocol as argument, `gemini` by default
``` php ``` php
var_dump( var_dump(
$body->findLinks('http') // returns array of http links found $body->findLinks('http') // returns array of http links only (with line number in key)
); );
``` ```

14
src/Gemtext/Body.php

@ -10,12 +10,22 @@ class Body
public function __construct(string $gemtext) public function __construct(string $gemtext)
{ {
foreach ((array) explode(PHP_EOL, $gemtext) as $line) foreach ((array) explode(PHP_EOL, $gemtext) as $index => $line)
{ {
$this->_lines[] = $line; $this->_lines[$index] = $line;
} }
} }
public function getLine(int $index): ?int
{
return isset($this->_lines[$index]) ? $this->_lines[$index] : null;
}
public function getLines(): array
{
return $this->_lines;
}
public function getH1(): array public function getH1(): array
{ {
$matches = []; $matches = [];

Loading…
Cancel
Save