Newer
Older
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_TEXTE")) return;
define("_ECRIRE_INC_TEXTE", "1");
//
// Initialisation de quelques variables globales
// (on peut les modifier dans mes_fonctions.php3)
//
$GLOBALS['debut_intertitre'] = "\n <h3 class=\"spip\">\n"; // sale mais historique
$GLOBALS['fin_intertitre'] = "\n</h3><br>\n";
$GLOBALS['ouvre_ref'] = ' [';
$GLOBALS['ferme_ref'] = ']';
$GLOBALS['ouvre_note'] = '[';
$GLOBALS['ferme_note'] = '] ';
$GLOBALS['les_notes'] = '';
$GLOBALS['compt_note'] = 0;
if (file_exists("puce.gif")) {
$imgsize = getimagesize('puce.gif');
$GLOBALS['puce'] = "<img src='puce.gif' align='top' alt='- ' ".$imgsize[3]." border='0'> ";
}
else {
$GLOBALS['puce'] = "- ";
}
//
// Variables globales : a virer pour une gestion intelligente de la langue
//
if (!$GLOBALS['lang']
|| $GLOBALS['HTTP_GET_VARS']['lang']
|| $GLOBALS['HTTP_POST_VARS']['lang']
|| $GLOBALS['HTTP_COOKIE_VARS']['lang'])
$GLOBALS['lang'] = 'fr';
//
// Trouver une locale qui marche
//
$lang2 = strtoupper($GLOBALS['lang']);
setlocale('LC_CTYPE', $GLOBALS['lang']) ||
setlocale('LC_CTYPE', $lang2.'_'.$GLOBALS['lang']) ||
setlocale('LC_CTYPE', $GLOBALS['lang'].'_'.$lang2);
// Diverses fonctions essentielles
// ereg_ ou preg_ ?
function ereg_remplace($cherche_tableau, $remplace_tableau, $texte) {
global $flag_preg_replace;
if ($flag_preg_replace) return preg_replace($cherche_tableau, $remplace_tableau, $texte);
$n = count($cherche_tableau);
for ($i = 0; $i < $n; $i++) {
$texte = ereg_replace(substr($cherche_tableau[$i], 1, -1), $remplace_tableau[$i], $texte);
return $texte;
//
// vignette pour les documents lies
//
function vignette_par_defaut($type_extension) {
if ($GLOBALS['flag_ecrire'])
$img = "../IMG/icones";
$img = "IMG/icones";
$filename = "$img/$type_extension";
if (file_exists($filename.'.png')) {
$vig = "$filename.png";
}
else if (file_exists($filename.'.gif')) {
$vig = "$filename.gif";
}
else if (file_exists($filename.'-dist.png')) {
$vig = "$filename-dist.png";
}
else if (file_exists($filename.'-dist.gif')) {
$vig = "$filename-dist.gif";
}
else if (file_exists("$img/defaut.png")) {
$vig = "$img/defaut.png";
}
else if (file_exists("$img/defaut.gif")) {
$vig = "$img/defaut.gif";
}
else if (file_exists("$img/defaut-dist.png")) {
$vig = "$img/defaut-dist.png";
}
else if (file_exists("$img/defaut-dist.gif")) {
$vig = "$img/defaut-dist.gif";
}
if ($size = @getimagesize($vig)) {
$largeur = $size[0];
$hauteur = $size[1];
}
return array($vig, $largeur, $hauteur);
// Mise de cote des echappements
function echappe_html($letexte,$source) {
//
// Echapper les <code>...</ code>
//
$regexp_echap = "<code>(([^<]|<[^/]|</[^c]|</c[^o]|</co[^d]|</cod[^e]|<\/code[^>])*)<\/code>";
while (eregi($regexp_echap, $letexte, $regs)) {
$num_echap++;
$lecode = htmlspecialchars($regs[1]);
// ne pas mettre le <div...> s'il n'y a qu'une ligne
if (is_int(strpos($lecode,"\n")))
$lecode = nl2br("<div align='left' class='spip_code'>".trim($lecode)."</div>");
$lecode = ereg_replace("\t", " ", $lecode);
$lecode = ereg_replace(" ", " ", $lecode);
$les_echap[$num_echap] = "<tt>".$lecode."</tt>";
$pos = strpos($letexte, $regs[0]);
$letexte = substr($letexte,0,$pos)."___SPIP_$source$num_echap ___"
.substr($letexte,$pos+strlen($regs[0]));
//
// Echapper les <cadre>...</cadre>
//
$regexp_echap = "<cadre>(([^<]|<[^/]|</[^c]|</c[^a]|</ca[^d]|</cad[^r]|</cadr[^e]|<\/cadre[^>])*)<\/cadre>";
while (eregi($regexp_echap, $letexte, $regs)) {
$num_echap++;
$lecode = trim(htmlspecialchars($regs[1]));
$total_lignes = count(explode("\n", $lecode)) + 1;
$les_echap[$num_echap] = "<form><textarea cols='40' rows='$total_lignes' wrap='no' class='spip_cadre'>".$lecode."</textarea></form>";
$pos = strpos($letexte, $regs[0]);
$letexte = substr($letexte,0,$pos)."___SPIP_$source$num_echap ___"
.substr($letexte,$pos+strlen($regs[0]));
//
// Echapper les <html>...</ html>
//
$regexp_echap = "<html>(([^<]|<[^/]|</[^h]|</h[^t]|</ht[^m]|</htm[^l]|<\/html[^>])*)<\/html>";
while (eregi($regexp_echap, $letexte, $regs)) {
$num_echap++;
$les_echap[$num_echap] = $regs[1];
$pos = strpos($letexte, $regs[0]);
$letexte = substr($letexte,0,$pos)."___SPIP_$source$num_echap ___"
.substr($letexte,$pos+strlen($regs[0]));
//
// Echapper les <a href>
//
$regexp_echap = "<a [^>]+>";
while (eregi($regexp_echap, $letexte, $regs)) {
$num_echap++;
$les_echap[$num_echap] = $regs[0];
$pos = strpos($letexte, $les_echap[$num_echap]);
$letexte = substr($letexte,0,$pos)."___SPIP_$source$num_echap ___"
.substr($letexte,$pos+strlen($les_echap[$num_echap]));
return array($letexte, $les_echap);
// Traitement final des echappements
function echappe_retour($letexte, $les_echap, $source) {
while(ereg("___SPIP_$source([0-9]+) ___", $letexte, $match)) {
$lenum = $match[1];
$cherche = $match[0];
$pos = strpos($letexte, $cherche);
$letexte = substr($letexte, 0, $pos). $les_echap[$lenum] . substr($letexte, $pos + strlen($cherche));
function couper($texte, $long) {
$texte2 = substr($texte, 0, $long * 2); /* heuristique pour prendre seulement le necessaire */
if (strlen($texte2) < strlen($texte)) $plus_petit = true;
$texte = ereg_replace("\[([^\[]*)->([^]]*)\]","\\1", $texte2);
// supprimer les notes
$texte = ereg_replace("\[\[([^]]|\][^]])*\]\]", "", $texte);
// supprimer les codes typos
$texte = strtr($texte,"{}"," ");
$texte2 = substr($texte." ", 0, $long);
$texte2 = ereg_replace("([^[:space:]][[:space:]]+)[^[:space:]]*$", "\\1", $texte2);
if ((strlen($texte2) + 3) < strlen($texte)) $plus_petit = true;
if ($plus_petit) $texte2 .= ' (...)';
return $texte2;
// prendre <intro>...</intro> sinon couper a la longueur demandee
function couper_intro($texte, $long) {
$texte = eregi_replace("(</?)intro>", "\\1intro>", $texte); // minuscules
while ($fin = strpos($texte, "</intro>")) {
$zone = substr($texte, 0, $fin);
$texte = substr($texte, $fin + strlen("</intro>"));
if ($deb = strpos($zone, "<intro>") OR substr($zone, 0, 7) == "<intro>")
$zone = substr($zone, $deb + 7);
$intro .= $zone;
}
if ($intro)
$intro = $intro.' (...)';
else
$intro = couper($texte, $long);
// supprimer un eventuel chapo redirecteur =http:/.....
$intro = ereg_replace("^=http://[^[:space:]]+","",$intro);
return $intro;
}
// Les elements de propre()
// Securite : empecher l'execution de code PHP
function interdire_scripts($source) {
$source = eregi_replace("<(\%|\?|([[:space:]]*)script)", "<\\1", $source);
return $source;
// Integration des images et documents
function integre_image($id_document, $align, $type_aff = 'IMG') {
$query = "SELECT * FROM spip_documents WHERE id_document = $id_document";
$result = mysql_query($query);
if ($row = mysql_fetch_array($result)) {
$id_document = $row['id_document'];
$id_type = $row['id_type'];
$titre = propre($row ['titre']);
$descriptif = propre($row['descriptif']);
$fichier = $row['fichier'];
$largeur = $row['largeur'];
$hauteur = $row['hauteur'];
$taille = $row['taille'];
$mode = $row['mode'];
$id_vignette = $row['id_vignette'];
// Gerer les inclusions des documents
mysql_query("UPDATE spip_documents SET inclus = 'oui' WHERE id_document=$id_document");
if ($id_vignette > 0)
mysql_query("UPDATE spip_documents SET inclus = 'oui' WHERE id_document=$id_vignette");
// type d'affichage : IMG, DOC
// on construira le lien en fonction du type de doc
$result_type = mysql_query("SELECT * FROM spip_types_documents WHERE id_type = $id_type");
if ($type = @mysql_fetch_object($result_type)) {
$extension = $type->extension;
}
// recuperer la vignette pour affichage inline
if ($id_vignette) {
$query_vignette = "SELECT * FROM spip_documents WHERE id_document = $id_vignette";
$result_vignette = mysql_query($query_vignette);
if ($row_vignette = @mysql_fetch_array($result_vignette)) {
$fichier_vignette = $row_vignette['fichier'];
$largeur_vignette = $row_vignette['largeur'];
$hauteur_vignette = $row_vignette['hauteur'];
}
}
else if ($mode == 'vignette') {
$fichier_vignette = $fichier;
$largeur_vignette = $largeur;
$hauteur_vignette = $hauteur;
}
// ajuster chemin d'acces au fichier
if ($GLOBALS['flag_ecrire']) {
if ($fichier) $fichier = "../$fichier";
if ($fichier_vignette) $fichier_vignette = "../$fichier_vignette";
}
// si pas de vignette, utiliser la vignette par defaut du type du document
if (!$fichier_vignette) {
list($fichier_vignette, $largeur_vignette, $hauteur_vignette) = vignette_par_defaut($extension);
}
if ($fichier_vignette) {
$vignette = "<img src='$fichier_vignette' border=0";
if ($largeur_vignette && $hauteur_vignette)
$vignette .= " width='$largeur_vignette' height='$hauteur_vignette'";
if ($titre) {
$titre_ko = ($taille > 0) ? ($titre . " - ". taille_en_octets($taille)) : $titre;
$vignette .= " alt=\"$titre_ko\" title=\"$titre_ko\"";
}
if ($affichage_detaille)
$vignette .= ">";
$vignette .= " hspace='5' vspace='3'>";
if ($align == 'center') $vignette = "<p align='center'>$vignette</p>";
}
$vignette = "<a href='$fichier'>$vignette</a>";
// si affichage detaille ('DOC'), ajouter une legende
if ($affichage_detaille) {
$query_type = "SELECT * FROM spip_types_documents WHERE id_type=$id_type";
$result_type = mysql_query($query_type);
if ($row_type = @mysql_fetch_array($result_type)) {
$type = $row_type['titre'];
}
else $type = 'fichier';
$retour = "<table cellpadding=5 cellspacing=0 border=0 align='$align'>\n";
$retour .= "<tr><td align='center'>\n<div class='spip_documents'>\n";
$retour .= $vignette;
if ($titre) $retour .= "<br><b>$titre</b>";
if ($descriptif) $retour .= "<br>$descriptif";
if ($mode == 'document')
$retour .= "<br>(<a href='$fichier'>$type, ".taille_en_octets($taille)."</a>)";
$retour .= "</div>\n</td></tr>\n</table>\n";
}
else $retour = $vignette;
}
return $retour;
}
// Correction typographique francaise
function typo_fr($letexte) {
global $flag_preg_replace;
global $flag_str_replace;
// les "blancs durs" et les guillemets
if ($flag_str_replace){
$letexte = str_replace(" ","~",strtr($letexte,chr(160),"~"));
$letexte = str_replace("»",chr(187),$letexte);
$letexte = str_replace("»", chr(187),$letexte);
$letexte = str_replace("«",chr(171),$letexte);
$letexte = str_replace("«", chr(171),$letexte);
}
else {
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
$letexte = ereg_replace(" ","~",strtr($letexte,chr(160),"~"));
$letexte = ereg_replace("&(raquo|#187);",chr(187), $letexte);
$letexte = ereg_replace("&(laquo|#171);",chr(171), $letexte);
}
$cherche1 = array(
/* 2 */ '/((^|[^\#0-9a-zA-Z\&])[\#0-9a-zA-Z]*)\;/',
/* 3 */ '/([:!?'.chr(187).'])/',
/* 4 */ '/('.chr(171).'|(M(M?\.|mes?|r\.?)|[MnN]'.chr(176).') )/',
/* 6 */ '/ +-,/'
);
$remplace1 = array(
/* 2 */ '\1~;',
/* 3 */ '~\1',
/* 4 */ '\1~',
/* 6 */ '~-,'
);
$letexte = ereg_remplace($cherche1, $remplace1, $letexte);
$letexte = ereg_replace(" *~+ *", "~", $letexte);
$cherche2 = array(
'/(http|ftp|mailto)~:/',
'/~/'
);
$remplace2 = array(
'\1:',
' '
);
$letexte = ereg_remplace($cherche2, $remplace2, $letexte);
return ($letexte);
}
// Typographie generale : francaise sinon rien (pour l'instant)
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
function typo($letexte) {
global $lang;
list($letexte, $les_echap) = echappe_html($letexte, "SOURCETYPO");
if ($lang == 'fr')
$letexte = typo_fr($letexte);
$letexte = corriger_caracteres($letexte);
$letexte = echappe_retour($letexte, $les_echap, "SOURCETYPO");
return $letexte;
}
// Nettoie un texte, traite les raccourcis spip, la typo, etc.
function traiter_raccourcis($letexte, $les_echap = false) {
global $puce;
global $debut_intertitre, $fin_intertitre;
global $compt_note;
global $les_notes;
global $ouvre_ref;
global $ferme_ref;
global $ouvre_note;
global $ferme_note;
global $flag_strpos_3, $flag_preg_replace, $flag_str_replace;
// Harmoniser les retours chariot
$letexte = ereg_replace ("\r\n?", "\n",$letexte);
// echapper les <a href>, <html>...< /html>, <code>...< /code>
if (!$les_echap)
list($letexte, $les_echap) = echappe_html($letexte, "SOURCEPROPRE");
// Corriger HTML
$letexte = eregi_replace("</?p>","\n\n\n",$letexte);
//
// Notes de bas de page
//
$regexp = "\[\[(([^]]|[^]]\][^]])*)\]\]";
/* signifie : deux crochets ouvrants, puis pas-crochet-fermant ou
crochet-fermant entoure de pas-crochets-fermants (c'est-a-dire
tout sauf deux crochets fermants), puis deux fermants */
while (ereg($regexp, $letexte, $regs)){
$note_texte = $regs[1];
$num_note = false;
if (ereg("^ *<([^>]*)>",$note_texte,$regs)){ // note pas auto ?
$num_note=$regs[1];
$note_texte = ereg_replace ("^ *<([^>]*)>","",$note_texte);
} else { // note auto
$compt_note++;
$num_note=$compt_note;
}
$insert = "$ouvre_ref<a href='#nb$num_note' name='nh$num_note' class='spip_note'>$num_note</a>$ferme_ref";
if ($note_texte) {
if ($les_notes)
$les_notes .= "\n<p class='spip_note'>";
$les_notes .= traiter_raccourcis("<HTML>$ouvre_note<a href='#nh$num_note' name='nb$num_note' class='spip_note'>$num_note</a>$ferme_note</HTML> $note_texte");
if ($les_notes)
$les_notes .= "\n<p class='spip_note'>";
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
if ($note_texte)
$les_notes .= traiter_raccourcis(trim($note_texte), $les_echap)."<p class='spip_note'>\n";
}
$letexte = implode($insert, split($regexp, $letexte, 2));
}
//
// Raccourcis liens
//
$regexp = "\[([^][]*)->([^]]*)\]";
$texte_a_voir = $letexte;
$texte_vu = '';
while (ereg($regexp, $texte_a_voir, $regs)){
$lien_texte = $regs[1];
$lien_url = trim($regs[2]);
$compt_liens++;
$lien_interne = false;
if (ereg('^(art(icle)?|rub(rique)?|br(.ve)?|aut(eur)?|mot)? *([[:digit:]]+)$', $lien_url, $match)) {
// Traitement des liens internes
$id_lien = $match[6];
$type_lien = $match[1];
$lien_interne=true;
$class_lien = "in";
switch (substr($type_lien, 0, 2)) {
case 'ru':
$lien_url = generer_url_rubrique($id_lien);
if (!$lien_texte) {
$req = "select titre from spip_rubriques where id_rubrique=$id_lien";
$row = @mysql_fetch_array(@mysql_query($req));
$lien_texte = $row['titre'];
}
break;
case 'br':
$lien_url = generer_url_breve($id_lien);
if (!$lien_texte) {
$req = "select titre from spip_breves where id_breve=$id_lien";
$row = @mysql_fetch_array(@mysql_query($req));
$lien_texte = $row['titre'];
}
break;
case 'au':
$lien_url = generer_url_auteur($id_lien);
if (!$lien_texte) {
$req = "select nom from spip_auteurs where id_auteur = $id_lien";
$row = @mysql_fetch_array(@mysql_query($req));
$lien_texte = $row['nom'];
}
break;
case 'mo':
$lien_url = generer_url_mot($id_lien);
if (!$lien_texte) {
$req = "select titre from spip_mots where id_mot=$id_lien";
$row = @mysql_fetch_array(@mysql_query($req));
$lien_texte = $row['titre'];
}
break;
default:
$lien_url = generer_url_article($id_lien);
if (!$lien_texte) {
$req = "select titre from spip_articles where id_article=$id_lien";
$row = @mysql_fetch_array(@mysql_query($req));
$lien_texte = $row['titre'];
}
break;
}
} else { // lien non automatique
$class_lien = "out";
// texte vide ?
if ((!$lien_texte) and (!$lien_interne)) {
$lien_texte = ereg_replace('"', '', $lien_url);
$class_lien = "url";
}
// petites corrections d'URL
if (ereg("^www\.[^@]+$",$lien_url))
$lien_url = "http://".$lien_url;
else if (ereg("^[[:alnum:]\.]+@[[:alnum:]\.]+$",$lien_url))
$lien_url = "mailto:".$lien_url;
}
$insert = "<a href=\"$lien_url\" class=\"spip_$class_lien\">".typo($lien_texte)."</a>";
$zetexte = split($regexp,$texte_a_voir,2);
// typo en-dehors des notes
$texte_vu .= typo($zetexte[0]).$insert;
$texte_a_voir = $zetexte[1];
}
$letexte = $texte_vu.typo($texte_a_voir); // typo de la queue du texte
//
// Insertion d'images utilisateur
//
while (eregi("<(IMG|DOC)([0-9]+)(\|([^\>]*))?".">", $letexte, $match)) {
$letout = quotemeta($match[0]);
$letout = ereg_replace("\|", "\|", $letout);
$id_document = $match[2];
$rempl = integre_image($id_document, $align, $match[1]);
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
$letexte = ereg_replace($letout, $rempl, $letexte);
}
//
// Tableaux
//
$letexte = ereg_replace("^\n?\|", "\n\n|", $letexte);
$letexte = ereg_replace("\|\n?$", "|\n\n", $letexte);
$tableBeginPos = strpos($letexte, "\n\n|");
$tableEndPos = strpos($letexte, "|\n\n");
while (is_integer($tableBeginPos) && is_integer($tableEndPos) && $tableBeginPos < $tableEndPos + 3) {
$textBegin = substr($letexte, 0, $tableBeginPos);
$textTable = substr($letexte, $tableBeginPos + 2, $tableEndPos - $tableBeginPos);
$textEnd = substr($letexte, $tableEndPos + 3);
$newTextTable = "\n<p><table class=\"spip\">";
$rowId = 0;
$lineEnd = strpos($textTable, "|\n");
while (is_integer($lineEnd)) {
$rowId++;
$row = substr($textTable, 0, $lineEnd);
$textTable = substr($textTable, $lineEnd + 2);
if ($rowId == 1 && ereg("^(\\|[[:space:]]*\\{\\{[^}]+\\}\\}[[:space:]]*)+$", $row)) {
$newTextTable .= '<tr class="row_first">';
} else {
$newTextTable .= '<tr class="row_'.($rowId % 2 ? 'odd' : 'even').'">';
}
$newTextTable .= ereg_replace("\|([^\|]+)", "<td>\\1</td>", $row);
$newTextTable .= '</tr>';
$lineEnd = strpos($textTable, "|\n");
}
$newTextTable .= "</table>\n<p>\n";
$letexte = $textBegin . $newTextTable . $textEnd;
$tableBeginPos = strpos($letexte, "\n\n|");
$tableEndPos = strpos($letexte, "|\n\n");
}
//
// Ensemble de remplacements implementant le systeme de mise
// en forme (paragraphes, raccourcis...)
//
// ATTENTION : si vous modifiez cette partie, modifiez les DEUX
// alternatives (if/else) de facon similaire. Merci.
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
//
$letexte = trim($letexte);
if ($flag_str_replace && !$flag_preg_replace) {
$letexte = ereg_replace("\n(-{4,}|_{4,})", "\n<hr class=\"spip\">\n", $letexte);
$letexte = ereg_replace("^-", "$puce ", $letexte);
$letexte = str_replace("\n-", "\n<br>$puce ",$letexte);
$letexte = ereg_replace("(( *)\n){2,}", "\n<p>", $letexte);
$letexte = str_replace("{{{", $debut_intertitre, $letexte);
$letexte = str_replace("}}}", $fin_intertitre, $letexte);
$letexte = str_replace("{{", "<b class=\"spip\">", $letexte);
$letexte = str_replace("}}", "</b>", $letexte);
$letexte = str_replace("{", "<i class=\"spip\">", $letexte);
$letexte = str_replace("}", "</i>", $letexte);
$letexte = eregi_replace("(<br>)+(<p>|<br>)", "\n<p class=\"spip\">", $letexte);
$letexte = str_replace("<p>", "<p class=\"spip\">", $letexte);
}
else {
$cherche1 = array(
/* 1 */ "/\n(----+|____+)/",
/* 2 */ "/^-/",
/* 3 */ "/\n-/",
/* 4 */ "/(( *)\n){2,}/",
/* 5 */ "/\{\{\{/",
/* 6 */ "/\}\}\}/",
/* 7 */ "/\{\{/",
/* 8 */ "/\}\}/",
/* 9 */ "/\{/",
/* 10 */ "/\}/",
/* 11 */ "/(<br>){2,}/",
/* 12 */ "/<p>([\n]*)(<br>)+/",
/* 13 */ "/<p>/"
);
$remplace1 = array(
/* 1 */ "\n<hr class=\"spip\">\n",
/* 2 */ "$puce ",
/* 3 */ "\n<br>$puce ",
/* 4 */ "\n<p>",
/* 5 */ "$debut_intertitre",
/* 6 */ "$fin_intertitre",
/* 7 */ "<b class=\"spip\">",
/* 8 */ "</b>",
/* 9 */ "<i class=\"spip\">",
/* 10 */ "</i>",
/* 11 */ "\n<p class=\"spip\">",
/* 12 */ "\n<p class=\"spip\">",
/* 13 */ "<p class=\"spip\">"
);
$letexte = ereg_remplace($cherche1, $remplace1, $letexte);
}
if (ereg("<p class=\"spip\">",$letexte)){
$letexte = "<p class=\"spip\">".ereg_replace("<p class=\"spip\">", "</p>\n<p class=\"spip\">",$letexte)."</p>";
}
// Reinserer les echappements
$letexte = echappe_retour($letexte, $les_echap, "SOURCEPROPRE");
$les_notes = echappe_retour($les_notes, $les_echap, "SOURCEPROPRE");
return $letexte;
}
// Filtre a appliquer aux champs du type #TEXTE*
function propre($letexte) {
return interdire_scripts(traiter_raccourcis(trim($letexte)));
}
?>