Changeset 58966 in spip-zone


Ignore:
Timestamp:
Mar 1, 2012, 9:48:27 AM (8 years ago)
Author:
fil@…
Message:

test plus rapide avant le calcul lent

Location:
_plugins_/textwheel/prive/exec
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/textwheel/prive/exec/checkautobr.html

    r58915 r58966  
    2121        {!doublons a}
    2222>
     23[(#SET{t,#TEXTE*|autobr_marquer|autobr_simplifier})]
     24[(#GET{t}
     25        |match{CHECKAUTOBR_}|et{#SET{tt,#TEXTE}|ou{#GET{tt}|match{autobr}}}|oui)
    2326
    24 [(#SET{t,#TEXTE})][(#GET{t}|match{autobr}|oui)
    2527
    2628<li>
    27 #ID_ARTICLE -
    28 
    29 [(#GET{t}|explode{autobr}|count|moins{1}) autobr] dans <a href="./?exec=articles&amp;id_article=#ID_ARTICLE">#TITRE</a>
     29[(#GET{tt}|explode{autobr}|count|moins{1}) autobr] dans <a href="./?exec=articles&amp;id_article=#ID_ARTICLE">#TITRE</a>
    3030
    3131&lt;<a href="[(#SELF|parametre_url{id_article,#ID_ARTICLE})]">corriger</a>&gt;
     32([(#ID_ARTICLE)])
    3233</li>
    3334
     
    3940<BOUCLE_check(ARTICLES){id_article}{statut==.*}>
    4041
    41 [<textarea style='width:100%;height:300px;'>(#TEXTE*|autobr_reperage)
     42[<textarea style='width:100%;height:300px;'>(#TEXTE*|autobr_correction)
    4243</textarea>]
    4344
  • _plugins_/textwheel/prive/exec/checkautobr_fonctions.php

    r58915 r58966  
    11<?php
    22
    3 function autobr_reperage($t) {
     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
    49        $tm = autobr_marquer($t);
     10
    511        $p = propre($tm);
    6         if (preg_match_all('/CHECKAUTOBR_(\d+)_<span class=\'autobr\'>/', $p, $r, PREG_PATTERN_ORDER)) {
     12
     13        if (preg_match_all(", CHECKAUTOBR_(\d+)_$nl,", $p, $r, PREG_PATTERN_ORDER)) {
    714                $l = $r[1];
    8         } else
     15        } else {
    916                $l = array();
     17        }
    1018
    1119        if ($l) {
    1220                foreach($l as $n) {
    13                         $tm = str_replace('CHECKAUTOBR_'.$n.'_'."\n", ' ', $tm);
     21                        $tm = str_replace(' CHECKAUTOBR_'.$n.'_'."\n", ' ', $tm);
    1422                }
    1523        }
    16         $tm = preg_replace('/CHECKAUTOBR_\d+_/', '', $tm);
     24        $tm = preg_replace('/ CHECKAUTOBR_\d+_/', '', $tm);
    1725        $tm = echappe_retour($tm, 'CHECK');
     26
     27        #echo nl2br(htmlspecialchars($tm));
    1828
    1929        return $tm;
     
    2434        $t = echappe_html($t, 'CHECK', true /*notransform*/);
    2535
     36        while ($t !== ($t1 = preg_replace("/(<[^>\r\n]*)\r?\n/S", '\1 CHECKNEWLINEINTAG ', $t)))
     37                $t = $t1;
     38
    2639        $t = preg_split("/\r?\n/", $t);
    2740
    2841        foreach($t as $k=>$l) {
    29                 if (strlen($t[$k])) {
     42                if (strlen($t[$k] AND strlen($t[$k+1])))
     43                {
    3044                        $t[$k] = $t[$k].' CHECKAUTOBR_'.$k.'_';
    3145                }
    3246        }
    3347
    34         return join("\n", $t);
     48        $t = join("\n", $t);
     49
     50#echo "<pre>".(htmlspecialchars($t))."</pre>";
     51        $t = str_replace(' CHECKNEWLINEINTAG ', "\n", $t);
     52
     53        return $t;
    3554}
     55
     56
     57function autobr_simplifier($t) {
     58        $t = preg_replace("/ CHECKAUTOBR_\d+_\n(\n|-|_ |[]]|\|)/S", '', $t);
     59
     60        return $t;
     61}
Note: See TracChangeset for help on using the changeset viewer.