source: spip-zone/_core_/plugins/textwheel/wheels/spip/spip-paragrapher.php @ 59004

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

report de _AUTOBR
reparer la licence (LGPL si quelqu'un veut utiliser textwheel comme librairie)

File size: 1.1 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) return;
4
5/**
6 * callback fermer-para-mano
7 * on refait le preg, a la main
8 */
9function fermer_para_mano(&$t) {
10        # match: ",<p (.*)<(/?)(STOP P|div|pre|ul|ol|li|blockquote|h[1-6r]|t(able|[rdh]|head|body|foot|extarea)|form|object|center|marquee|address|applet|iframe|d[ltd]|script|noscript|map|button|fieldset|style)\b,UimsS"
11        # replace: "\n<p "+trim($1)+"</p>\n<$2$3"
12
13        foreach (explode('<p ', $t) as $c => $p) {
14                if ($c == 0)
15                        $t = $p;
16                else {
17                        $pi = strtolower($p);
18                        if (preg_match(
19                        ",</?(?:stop p|div|pre|ul|ol|li|blockquote|h[1-6r]|t(able|[rdh]|head|body|foot|extarea)|form|object|center|marquee|address|applet|iframe|d[ltd]|script|noscript|map|button|fieldset|style)\b,S",
20                        $pi, $r)) {
21                                $pos = strpos($pi, $r[0]);
22                                $t .= "\n<p ".str_replace("\n", _AUTOBR."\n", rtrim(substr($p,0,$pos)))."</p>\n".substr($p,$pos);
23                        } else {
24                                $t .= '<p '.$p;
25                        }
26                }
27        }
28
29        $t = str_replace(_AUTOBR."\n"."<br", "<br", $t); #manque /i
30        $reg = ',(<br\b[^>]*>\s*)'.preg_quote(_AUTOBR."\n", ',').",iS";
31
32        $t = preg_replace($reg, "\1", $t);
33
34        return $t;
35}
Note: See TracBrowser for help on using the repository browser.