fix replacement limit

master
Jean-Christian Paul Denis 2021-09-04 19:02:44 +02:00
parent 137ba6caa5
commit a7236e5d64
1 changed files with 7 additions and 5 deletions

View File

@ -20,6 +20,8 @@ __('atom feeds');__('RSS feeds');
class libEPC class libEPC
{ {
public static $epcFilterLimit = [];
# #
# Default definition # Default definition
# #
@ -351,12 +353,12 @@ class libEPC
{ {
# Limit # Limit
if ($filter['limit'] > 0) { if ($filter['limit'] > 0) {
$l = isset($GLOBALS['epcFilterLimit'][$filter['id']][$p]) ? $GLOBALS['epcFilterLimit'][$filter['id']][$p] : $filter['limit']; $limit = in_array($filter['id'] . '_' . $p, self::$epcFilterLimit) ? self::$epcFilterLimit[$filter['id'] . '_' . $p] : $filter['limit'];
if ($l < 1) { if ($limit < 1) {
return $s; return $s;
} }
} else { } else {
$l = -1; $limit = -1;
} }
# Case sensitive # Case sensitive
$i = $filter['nocase'] ? 'i' : ''; $i = $filter['nocase'] ? 'i' : '';
@ -380,9 +382,9 @@ class libEPC
# Remove words inside html tag (class, title, alt, href, ...) # Remove words inside html tag (class, title, alt, href, ...)
$s = preg_replace('#(ççççç(' . $p . '(s|))ççççç)(?=[^<]+>)#s' . $i, '$2$4', $s); $s = preg_replace('#(ççççç(' . $p . '(s|))ççççç)(?=[^<]+>)#s' . $i, '$2$4', $s);
# Replace words by what you want (with limit) # Replace words by what you want (with limit)
$s = preg_replace('#ççççç(' . $p . '(s|))ççççç#s' . $i, $r, $s, $l, $count); $s = preg_replace('#ççççç(' . $p . '(s|))ççççç#s' . $i, $r, $s, $limit, $count);
# update limit # update limit
$GLOBALS['epcFilterLimit'][$filter['id']][$p] = $l - $count; self::$epcFilterLimit[$filter['id'] . '_' . $p] = $limit - $count;
# Clean rest # Clean rest
return $s = preg_replace('#ççççç(.*?)ççççç#s', '$1', $s); return $s = preg_replace('#ççççç(.*?)ççççç#s', '$1', $s);
} }