function interro_pre_typo($texte) { if ($GLOBALS["liens_interrogation"] && (strpos($texte, '?')!==false || strpos($texte, '!')!==false || strpos($texte, '--')!==false)) // appeler interro_rempl() une fois que certaines balises ont ete protegees return cs_echappe_balises('', 'interro_rempl', $texte); return $texte; }
function intertitres_pre($texte) { if (strpos($texte, '{{{*') === false) { return $texte; } // appeler intertitres_rempl() une fois que certaines balises ont ete protegees return cs_echappe_balises('', 'intertitres_rempl', $texte); }
function sommaire_d_article_balise($texte) { // si la balise n'est pas utilisee ou s'il n'y a aucun intertitre, on ne fait rien if(!defined('_sommaire_BALISE') || (strpos($texte, '<h')===false)) return ''; return cs_echappe_balises('html|code|cadre|frame|script|acronym|cite|onglets|table', 'sommaire_d_article_rempl', $texte, true); }
function cs_smileys_pre_typo($texte) { if (strpos($texte, ':')===false && strpos($texte, ')')===false) return $texte; // appeler cs_rempl_smileys() une fois que certaines balises ont ete protegees return cs_echappe_balises('html|code|cadre|frame|script|acronym|cite', 'cs_rempl_smileys', $texte); }
function insertions_pre_propre($texte) { // prudence : on protege les liens de raccourcis de liens SPIP if (strpos($texte, '[')!==false) $texte = preg_replace_callback(',(\[[^][]*->>?)([^]]*)(?=\]),msS', 'insertions_callback', $texte); return cs_echappe_balises('', 'insertions_rempl', $texte); }
function chatons_pre_typo($texte) { if (strpos($texte, ':')===false) return $texte; return cs_echappe_balises('html|code|cadre|frame|script|acronym|cite', 'cs_rempl_chatons', $texte); }
function sommaire_intertitres($texte) { if (strpos($texte, '{{{*')===false) return $texte; // on remplace apres echappement return cs_echappe_balises('', 'sommaire_intertitres_rempl', $texte); }
function titres_typo_pre_typo($texte) { if (strpos($texte, '{{{')===false) return $texte; // appeler titres_typo_rempl() une fois que certaines balises ont ete protegees return cs_echappe_balises('', 'titres_typo_rempl', $texte); }
function filets_sep($texte) { if (strpos($texte, '__')===false) return $texte; return cs_echappe_balises('', 'filets_sep_rempl', $texte); }
function blocs_pre_typo($texte) { if (strpos($texte, '<')===false) return $texte; // on remplace apres echappement return cs_echappe_balises('', 'blocs_rempl', $texte); }
function typo_exposants($texte){ if (!$lang = $GLOBALS['lang_objet']) $lang = $GLOBALS['spip_lang']; if(!function_exists($fonction = 'typo_exposants_'.lang_typo($lang))) return $texte; // prudence : on protege les balises <a> et <img> if (strpos($texte, '<')!==false) $texte = preg_replace_callback('/(<(a|img) [^>]+>)/Ums', 'typo_exposants_echappe_balises_callback', $texte); $texte = cs_echappe_balises('html|code|cadre|frame|script|acronym|cite', $fonction, $texte); return echappe_retour($texte, 'EXPO'); }
function cs_mots_glossaire($texte, $type='', $sep='') { if(strpos($texte, "<span class='gl_mot'>")!==false && preg_match_all(",'gl_mot'>(.*?)</span>,", $texte, $reg)) // glossaire deja present, on simplifie donc le texte $texte = join(' ', $reg[1]); $mots = cs_echappe_balises('html|code|cadre|frame|script|acronym|cite|a', 'cs_rempl_glossaire', $texte, true); if(!count($mots)) return strlen($sep)?'':$mots; $lien = '$v="<a href=\"$v[2]\"'; $titre = strpos($type,'_unique')===false?'str_replace("<br />"," / ", $v[3])':'array_shift(explode(_GLOSSAIRE_TITRE_SEP, $v[3]))'; switch($type) { case '':return $mots; case 'id_mot': array_walk($mots, create_function('&$v', '$v=$v[1];')); break; case 'mot': array_walk($mots, create_function('&$v', '$v=$v[0];')); break; case 'titre': case 'titre_unique': array_walk($mots, create_function('&$v', "\$v=$titre;")); break; case 'lien_mot': array_walk($mots, create_function('&$v', $lien.'>$v[0]</a>";')); break; case 'lien_titre': case 'lien_titre_unique': array_walk($mots, create_function('&$v', $lien.'>".'.$titre.'."</a>";')); break; case 'nuage': case 'nuage_unique': $stats = array(); $min = 999999; $max = 0; foreach($mots as $m) $stats[$m[1]]++; $m = min($stats); $d = max($stats) - $m; array_walk($stats, create_function('&$v', $d?"\$v=round((\$v-$m)*9/$d)+1;":'$v=1;')); // valeurs de 1 a 10 array_walk($mots, create_function('&$v,$k,&$s', $lien.' class=\"nuage".$s[$v[1]]."\">".'.$titre.'."</a>";'), $stats); break; default:return "#GLOSSAIRE/$type?"; } $mots = array_unique($mots); return strlen($sep)?join($sep, $mots):$mots; }
function couleurs_pre_typo($texte) { if (strpos($texte, '[')===false || strpos($texte, '/')===false) return $texte; // pour les callbacks global $outil_couleurs; // lecture des raccoucis de couleur $outil_couleurs = cs_lire_data_outil('couleurs'); // appeler couleurs_rempl() une fois que certaines balises ont ete protegees $texte = cs_echappe_balises('', 'couleurs_rempl', $texte); // menage unset($outil_couleurs); // retour return $texte; }
function typo_guillemets($texte){ if (strpos($texte, '"')===false) return $texte; return cs_echappe_balises('html|code|cadre|frame|script|acronym|cite', 'typo_guillemets_rempl', $texte); }
function cs_decoupe($texte, $pagination_seule=false){ // si pas de separateur, on sort if (strpos($texte, _decoupe_SEPARATEUR)===false) return $pagination_seule?'':$texte; $texte = cs_echappe_balises('html|code|cadre|frame|script|cite|table|jeux', 'decouper_en_pages_rempl', $texte, $pagination_seule); if (!$pagination_seule) decoupe_notes_orphelines($texte); return $texte; }
function liens_en_clair_post_propre($texte) { if (!defined('_CS_PRINT') || strpos($texte, 'href')===false) return $texte; // appeler liens_en_clair() une fois que certaines balises ont ete protegees return cs_echappe_balises('html|code|cadre|frame|script|acronym|cite', 'liens_en_clair', $texte); }
function ToutMulti_pre_typo($texte) { if (strpos($texte, '<:')===false) return $texte; // appeler ToutMulti_rempl() une fois que certaines balises ont ete protegees return cs_echappe_balises('', 'ToutMulti_rempl', $texte); }