mirror of
https://github.com/YGGverse/gemini-php.git
synced 2025-01-13 16:48:00 +00:00
add LINE:break macros
This commit is contained in:
parent
3c9006e0c5
commit
c4eee5c07f
@ -13,6 +13,7 @@ class Reader
|
|||||||
'~URL:base~' => null,
|
'~URL:base~' => null,
|
||||||
'~IPv6:open~' => '[',
|
'~IPv6:open~' => '[',
|
||||||
'~IPv6:close~' => ']',
|
'~IPv6:close~' => ']',
|
||||||
|
'~LINE:break~' => PHP_EOL
|
||||||
];
|
];
|
||||||
|
|
||||||
private array $_rule =
|
private array $_rule =
|
||||||
@ -88,7 +89,7 @@ class Reader
|
|||||||
'/^[\s]+\*/' => '*',
|
'/^[\s]+\*/' => '*',
|
||||||
|
|
||||||
// Separators
|
// Separators
|
||||||
'/[\\\]{2}/' => PHP_EOL,
|
'/[\\\]{2}/' => '~LINE:break~',
|
||||||
|
|
||||||
// Plugins
|
// Plugins
|
||||||
'/~~DISCUSSION~~/' => '', // @TODO
|
'/~~DISCUSSION~~/' => '', // @TODO
|
||||||
@ -240,23 +241,15 @@ class Reader
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Apply config
|
// Apply config
|
||||||
$lines[] = str_replace(
|
$lines[] = preg_replace(
|
||||||
array_keys(
|
array_keys(
|
||||||
$this->_macros
|
$this->_rule
|
||||||
),
|
),
|
||||||
array_values(
|
array_values(
|
||||||
$this->_macros
|
$this->_rule
|
||||||
),
|
),
|
||||||
preg_replace(
|
strip_tags(
|
||||||
array_keys(
|
$line
|
||||||
$this->_rule
|
|
||||||
),
|
|
||||||
array_values(
|
|
||||||
$this->_rule
|
|
||||||
),
|
|
||||||
strip_tags(
|
|
||||||
$line
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -270,10 +263,17 @@ class Reader
|
|||||||
|
|
||||||
foreach ($lines as $index => $line)
|
foreach ($lines as $index => $line)
|
||||||
{
|
{
|
||||||
|
// Strip line breaks
|
||||||
|
$line = str_replace(
|
||||||
|
'~LINE:break~',
|
||||||
|
' ',
|
||||||
|
$line
|
||||||
|
);
|
||||||
|
|
||||||
// Header
|
// Header
|
||||||
if (!$table && preg_match_all('/\^([^\^]+)/', $line, $matches))
|
if (!$table && preg_match_all('/\^([^\^]+)/', $line, $matches))
|
||||||
{
|
{
|
||||||
if (isset($matches[1]) && count($matches[1]) > 1)
|
if (!empty($matches[1]))
|
||||||
{
|
{
|
||||||
$table = true;
|
$table = true;
|
||||||
|
|
||||||
@ -338,9 +338,17 @@ class Reader
|
|||||||
return preg_replace(
|
return preg_replace(
|
||||||
'/[\n\r]{2,}/',
|
'/[\n\r]{2,}/',
|
||||||
PHP_EOL . PHP_EOL,
|
PHP_EOL . PHP_EOL,
|
||||||
implode(
|
str_replace(
|
||||||
PHP_EOL,
|
array_keys(
|
||||||
$lines
|
$this->_macros
|
||||||
|
),
|
||||||
|
array_values(
|
||||||
|
$this->_macros
|
||||||
|
),
|
||||||
|
implode(
|
||||||
|
PHP_EOL,
|
||||||
|
$lines
|
||||||
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user