source: spip-zone/_plugins_/textwheel/prive/exec/checkautobr_fonctions.php @ 58966

Last change on this file since 58966 was 58966, checked in by fil@…, 9 years ago

test plus rapide avant le calcul lent

File size: 1.1 KB
Line 
1<?php
2
3function autobr_correction($t) {
4        static $nl = null;
5        if(!$nl)
6                $nl = preg_quote(trim(str_replace('A', '', PtoBR(propre("A\nA")))),',');
7
8
9        $tm = autobr_marquer($t);
10
11        $p = propre($tm);
12
13        if (preg_match_all(", CHECKAUTOBR_(\d+)_$nl,", $p, $r, PREG_PATTERN_ORDER)) {
14                $l = $r[1];
15        } else {
16                $l = array();
17        }
18
19        if ($l) {
20                foreach($l as $n) {
21                        $tm = str_replace(' CHECKAUTOBR_'.$n.'_'."\n", ' ', $tm);
22                }
23        }
24        $tm = preg_replace('/ CHECKAUTOBR_\d+_/', '', $tm);
25        $tm = echappe_retour($tm, 'CHECK');
26
27        #echo nl2br(htmlspecialchars($tm));
28
29        return $tm;
30}
31
32
33function autobr_marquer($t) {
34        $t = echappe_html($t, 'CHECK', true /*notransform*/);
35
36        while ($t !== ($t1 = preg_replace("/(<[^>\r\n]*)\r?\n/S", '\1 CHECKNEWLINEINTAG ', $t)))
37                $t = $t1;
38
39        $t = preg_split("/\r?\n/", $t);
40
41        foreach($t as $k=>$l) {
42                if (strlen($t[$k] AND strlen($t[$k+1])))
43                {
44                        $t[$k] = $t[$k].' CHECKAUTOBR_'.$k.'_';
45                }
46        }
47
48        $t = join("\n", $t);
49
50#echo "<pre>".(htmlspecialchars($t))."</pre>";
51        $t = str_replace(' CHECKNEWLINEINTAG ', "\n", $t);
52
53        return $t;
54}
55
56
57function autobr_simplifier($t) {
58        $t = preg_replace("/ CHECKAUTOBR_\d+_\n(\n|-|_ |[]]|\|)/S", '', $t);
59
60        return $t;
61}
Note: See TracBrowser for help on using the repository browser.