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

Last change on this file since 69948 was 69948, checked in by marcimat@…, 6 years ago

Corrections de phpDoc

File size: 1.3 KB
Line 
1<?php
2
3/**
4 * Fonctions utiles pour les wheels SPIP sur les paragraphes
5 *
6 * @SPIP\Textwheel\Wheel\SPIP\Fonctions
7**/
8
9if (!defined('_ECRIRE_INC_VERSION')) return;
10
11/**
12 * Callback fermer-para-mano
13 *
14 * On refait le preg, à la main
15 *
16 * @param string $t
17 * @return string
18 */
19function fermer_para_mano(&$t) {
20        # 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"
21        # replace: "\n<p "+trim($1)+"</p>\n<$2$3"
22
23        foreach (explode('<p ', $t) as $c => $p) {
24                if ($c == 0)
25                        $t = $p;
26                else {
27                        $pi = strtolower($p);
28                        if (preg_match(
29                        ",</?(?: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",
30                        $pi, $r)) {
31                                $pos = strpos($pi, $r[0]);
32                                $t .= "<p ".str_replace("\n", _AUTOBR."\n", rtrim(substr($p,0,$pos)))."</p>\n".substr($p,$pos);
33                        } else {
34                                $t .= '<p '.$p;
35                        }
36                }
37        }
38
39        if (_AUTOBR) {
40                $t = str_replace(_AUTOBR."\n"."<br", "<br", $t); #manque /i
41                $reg = ',(<br\b[^>]*>\s*)'.preg_quote(_AUTOBR."\n", ',').",iS";
42
43                $t = preg_replace($reg, '\1', $t);
44        }
45
46        return $t;
47}
Note: See TracBrowser for help on using the repository browser.