text2html formatter support raw <html> sections
This commit is contained in:
parent
79c07edb4d
commit
a87bfdf687
30
rebuild.php
30
rebuild.php
@ -96,6 +96,8 @@ function hesc($sz) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function text2html($sz) {
|
function text2html($sz) {
|
||||||
|
|
||||||
|
$sectionFmt = function($sz) {
|
||||||
$base = hesc($sz);
|
$base = hesc($sz);
|
||||||
|
|
||||||
$base = preg_replace('~=+(.+)=+~', '<strong>\\1</strong>', $base);
|
$base = preg_replace('~=+(.+)=+~', '<strong>\\1</strong>', $base);
|
||||||
@ -110,6 +112,34 @@ function text2html($sz) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return nl2br($base);
|
return nl2br($base);
|
||||||
|
};
|
||||||
|
|
||||||
|
$identity = function($sz) {
|
||||||
|
return $sz;
|
||||||
|
};
|
||||||
|
|
||||||
|
$splitInside = function($begin, $end, $sz) {
|
||||||
|
$parts = explode($begin, $sz);
|
||||||
|
if (count($parts) == 1) return [$sz];
|
||||||
|
$ret = [$parts[0]];
|
||||||
|
foreach($parts as $part) {
|
||||||
|
$inner = explode($end, $part, 2);
|
||||||
|
$ret = array_merge($ret, $inner);
|
||||||
|
}
|
||||||
|
return $ret;
|
||||||
|
};
|
||||||
|
|
||||||
|
$oddEven = function(array $parts, $odd, $even, $join='') {
|
||||||
|
$ret = [];
|
||||||
|
for($i = 0, $e = count($parts); $i != $e; ++$i) {
|
||||||
|
$ret[] = ($i % 2) ? $odd($parts[$i]) : $even($parts[$i]);
|
||||||
|
}
|
||||||
|
return implode($join, $ret);
|
||||||
|
};
|
||||||
|
|
||||||
|
$htmlSections = $splitInside('<html>', '</html>', $sz);
|
||||||
|
return $oddEven($htmlSections, $sectionFmt, $identity);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function array_decimate($array, $total, $partno) {
|
function array_decimate($array, $total, $partno) {
|
||||||
|
Reference in New Issue
Block a user