]*(href|src)=[^<>]*>),imsS', $texte, $liens, PREG_SET_ORDER)) { if (!function_exists('extraire_attribut')) { include_spip('inc/filtres'); } foreach ($liens as $lien) { foreach (array('href', 'src') as $attr) { $href = extraire_attribut($lien[0], $attr); if (strlen($href) > 0) { if (!preg_match(';^((?:[a-z]{3,7}:)?//);iS', $href)) { $abs = url_absolue($href, $base); if (rtrim($href, '/') !== rtrim($abs, '/') and !preg_match('/^#/', $href)) { $texte_lien = inserer_attribut($lien[0], $attr, $abs); $texte = str_replace($lien[0], $texte_lien, $texte); } } } } } } return $texte; } /** * Transforme une URL ou des liens en URL ou liens absolus * * @filtre * @link http://www.spip.net/4128 * @global mode_abs_url Pour connaître le mode (url ou texte) * * @param string $texte Texte ou URL * @param string $base URL de base de destination (par défaut ce sera l'URL de notre site) * @return string Texte ou URL (en absolus) **/ function abs_url($texte, $base = '') { if ($GLOBALS['mode_abs_url'] == 'url') { return url_absolue($texte, $base); } else { return liens_absolus($texte, $base); } } /** * htmlspecialchars wrapper (PHP >= 5.4 compat issue) * * @param string $string * @param int $flags * @param string $encoding * @param bool $double_encode * @return string */ function spip_htmlspecialchars($string, $flags = null, $encoding = 'ISO-8859-1', $double_encode = true) { if (is_null($flags)) { $flags = ENT_COMPAT; if (defined('ENT_HTML401')) { $flags |= ENT_HTML401; } } return htmlspecialchars($string, $flags, $encoding, $double_encode); } /** * htmlentities wrapper (PHP >= 5.4 compat issue) * * @param string $string * @param int $flags * @param string $encoding * @param bool $double_encode * @return string */ function spip_htmlentities($string, $flags = null, $encoding = 'ISO-8859-1', $double_encode = true) { if (is_null($flags)) { $flags = ENT_COMPAT; if (defined('ENT_HTML401')) { $flags |= ENT_HTML401; } } return htmlentities($string, $flags, $encoding, $double_encode); }