Browse Source

add LINE:break macros

main
ghost 11 months ago
parent
commit
c4eee5c07f
  1. 30
      src/Dokuwiki/Reader.php

30
src/Dokuwiki/Reader.php

@ -13,6 +13,7 @@ class Reader @@ -13,6 +13,7 @@ class Reader
'~URL:base~' => null,
'~IPv6:open~' => '[',
'~IPv6:close~' => ']',
'~LINE:break~' => PHP_EOL
];
private array $_rule =
@ -88,7 +89,7 @@ class Reader @@ -88,7 +89,7 @@ class Reader
'/^[\s]+\*/' => '*',
// Separators
'/[\\\]{2}/' => PHP_EOL,
'/[\\\]{2}/' => '~LINE:break~',
// Plugins
'/~~DISCUSSION~~/' => '', // @TODO
@ -240,14 +241,7 @@ class Reader @@ -240,14 +241,7 @@ class Reader
}
// Apply config
$lines[] = str_replace(
array_keys(
$this->_macros
),
array_values(
$this->_macros
),
preg_replace(
$lines[] = preg_replace(
array_keys(
$this->_rule
),
@ -257,7 +251,6 @@ class Reader @@ -257,7 +251,6 @@ class Reader
strip_tags(
$line
)
)
);
}
@ -270,10 +263,17 @@ class Reader @@ -270,10 +263,17 @@ class Reader
foreach ($lines as $index => $line)
{
// Strip line breaks
$line = str_replace(
'~LINE:break~',
' ',
$line
);
// Header
if (!$table && preg_match_all('/\^([^\^]+)/', $line, $matches))
{
if (isset($matches[1]) && count($matches[1]) > 1)
if (!empty($matches[1]))
{
$table = true;
@ -338,10 +338,18 @@ class Reader @@ -338,10 +338,18 @@ class Reader
return preg_replace(
'/[\n\r]{2,}/',
PHP_EOL . PHP_EOL,
str_replace(
array_keys(
$this->_macros
),
array_values(
$this->_macros
),
implode(
PHP_EOL,
$lines
)
)
);
}

Loading…
Cancel
Save