• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

PHP filtrer_entites函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中filtrer_entites函数的典型用法代码示例。如果您正苦于以下问题:PHP filtrer_entites函数的具体用法?PHP filtrer_entites怎么用?PHP filtrer_entites使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了filtrer_entites函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: nettoyer_caracteres_mail

/**
 * Utiliser le bon encodage de caractères selon le charset
 *
 * Caractères pris en compte : apostrophe, double guillemet,
 * le tiret cadratin, le tiret demi-cadratin
 *
 * @uses filtrer_entites()
 *
 * @param string $t
 * @return string
 */
function nettoyer_caracteres_mail($t)
{
    $t = filtrer_entites($t);
    if ($GLOBALS['meta']['charset'] != 'utf-8') {
        $t = str_replace(array('’', '“', '”'), array("'", '"', '"'), $t);
    }
    $t = str_replace(array('—', '&endash;'), array('--', '-'), $t);
    return $t;
}
开发者ID:spip,项目名称:SPIP,代码行数:20,代码来源:envoyer_mail.php


示例2: exec_mots_type_dist

function exec_mots_type_dist()
{
	$id_groupe= intval(_request('id_groupe'));

	if (!$id_groupe) {
	  $type = $titre = filtrer_entites(_T('titre_nouveau_groupe'));
	  $row = array();
	} else {
		$row = sql_fetsel("id_groupe,titre", "spip_groupes_mots", "id_groupe=$id_groupe");
		if ($row) {
			$id_groupe = $row['id_groupe'];
			$type = $row['titre'];
			$titre = typo($type);
		}
	}

	if (($id_groupe AND !$row) OR
	    !autoriser($id_groupe?'modifier' : 'creer', 'groupemots', $id_groupe)) {
		include_spip('inc/minipres');
		echo minipres();
	} else {

	pipeline('exec_init',array('args'=>array('exec'=>'mots_type','id_groupe'=>$id_groupe),'data'=>''));
	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page("« $titre »", "naviguer", "mots");
	
	echo debut_gauche('', true);

	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'mots_type','id_groupe'=>$id_groupe),'data'=>''));
	echo creer_colonne_droite('', true);
	echo pipeline('affiche_droite',array('args'=>array('exec'=>'mots_type','id_groupe'=>$id_groupe),'data'=>''));
	echo debut_droite('', true);
	
	$contexte = array(
		'icone_retour'=>icone_inline(_T('icone_retour'), generer_url_ecrire("mots_tous") . "#mots_tous-$id_groupe", "groupe-mot-24.gif", "rien.gif",$GLOBALS['spip_lang_left']),
		'titre'=>$type,
		'redirect'=>generer_url_ecrire("mots_tous",""),
		'new'=>_request('new') == "oui"?"oui":$id_groupe,
		'config_fonc'=>'groupes_mots_edit_config',
	);

	echo recuperer_fond("prive/editer/groupe_mot", $contexte);

	echo pipeline('affiche_milieu',
		array('args' => array(
			'exec' => 'mots_type',
			'id_groupe' => $id_groupe
		),
		'data'=>'')
	),
	fin_gauche(),
	fin_page();
	}
}
开发者ID:rhertzog,项目名称:lcs,代码行数:54,代码来源:mots_type.php


示例3: svp_ajouter_depot

/**
 * Ajout d'un dépot et de son contenu (paquets, plugins) dans la base de données
 *
 * Si une erreur survient (syntaxe XML incorrecte, pas de plugin dans le dépot),
 * son texte est placé dans le paramètre $erreur
 * 
 * @param string $url
 *     URL du fichier XML de description du dépot
 * @param string $erreur
 *     Texte d'un éventuel message d'erreur
 * @return bool
 *     true si le dépot est ajouté correctement, false sinon
 */
function svp_ajouter_depot($url, &$erreur = '')
{
    include_spip('inc/distant');
    // On considere que l'url a deja ete validee (correcte et nouveau depot)
    $url = trim($url);
    // Ajout du depot dans la table spip_depots. Les compteurs de paquets et de plugins
    // sont mis a jour apres le traitement des paquets
    // on recupère le XML
    $fichier_xml = copie_locale($url, 'modif');
    if (!$fichier_xml) {
        $erreur = _T('svp:message_nok_xml_non_recupere', array('fichier' => $url));
        return false;
    }
    $fichier_xml = _DIR_RACINE . $fichier_xml;
    // Lire les donnees d'un depot de paquets
    $infos = svp_phraser_depot($fichier_xml);
    if (!$infos) {
        $erreur = _T('svp:message_nok_xml_non_conforme', array('fichier' => $url));
        return false;
    }
    $titre = filtrer_entites($infos['depot']['titre']);
    $champs = array('titre' => $titre, 'descriptif' => filtrer_entites($infos['depot']['descriptif']), 'type' => $infos['depot']['type'], 'url_serveur' => $infos['depot']['url_serveur'], 'url_brouteur' => $infos['depot']['url_brouteur'], 'url_archives' => $infos['depot']['url_archives'], 'url_commits' => $infos['depot']['url_commits'], 'xml_paquets' => $url, 'sha_paquets' => sha1_file($fichier_xml), 'nbr_paquets' => 0, 'nbr_plugins' => 0, 'nbr_autres' => 0);
    // verifier avant l'insertion que le depot n'existe pas deja
    // car la recuperation pouvant etre longue on risque le probleme en cas de concurrence
    if (sql_countsel('spip_depots', 'xml_paquets=' . sql_quote($url))) {
        $erreur = _T('svp:message_nok_depot_deja_ajoute', array('url' => $url));
        return false;
    } elseif (!($id_depot = sql_insertq('spip_depots', $champs))) {
        $erreur = _T('svp:message_nok_sql_insert_depot', array('objet' => "{$titre} ({$url})"));
        return false;
    }
    // Ajout des paquets dans spip_paquets et actualisation des plugins dans spip_plugins
    $ok = svp_actualiser_paquets($id_depot, $infos['paquets'], $nb_paquets, $nb_plugins, $nb_autres);
    if (!$ok or $nb_paquets == 0) {
        // Si une erreur s'est produite, on supprime le depot deja insere
        sql_delete('spip_depots', 'id_depot=' . sql_quote($id_depot));
        if (!$ok) {
            $erreur = _T('svp:message_nok_xml_non_conforme', array('fichier' => $url));
        } else {
            $erreur = _T('svp:message_nok_aucun_paquet_ajoute', array('url' => $url));
        }
        return false;
    }
    // On met à jour le nombre de paquets et de plugins du depot maintenant !
    sql_updateq('spip_depots', array('nbr_paquets' => $nb_paquets, 'nbr_plugins' => $nb_plugins, 'nbr_autres' => $nb_autres), 'id_depot=' . sql_quote($id_depot));
    // On vide les paquets locaux pour mettre a jour leurs donnees relatives au depot
    // comme les mises a jour disponibles
    include_spip('inc/svp_depoter_local');
    svp_actualiser_paquets_locaux(true);
    return true;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:64,代码来源:svp_depoter_distant.php


示例4: send_email

function send_email($email, $subject, $texte, $from = "", $headers = "")
{
    global $hebergeur, $queue_mails, $flag_wordwrap, $os_serveur;
    include_lcm('inc_filters');
    if (!$from) {
        $email_envoi = read_meta("email_sender");
        $from = is_valid_email($email_envoi) ? $email_envoi : $email;
    }
    if (!is_valid_email($email)) {
        return false;
    }
    lcm_debug("mail ({$email}): {$subject}");
    $charset = read_meta('charset');
    $headers = "From: {$from}\n" . "MIME-Version: 1.0\n" . "Content-Type: text/plain; charset={$charset}\n" . "Content-Transfer-Encoding: 8bit\n{$headers}";
    $texte = filtrer_entites($texte);
    $subject = filtrer_entites($subject);
    // fignoler ce qui peut l'etre...
    if ($charset != 'utf-8') {
        $texte = str_replace("’", "'", $texte);
        $subject = str_replace("’", "'", $subject);
    }
    // encoder le sujet si possible selon la RFC
    if ($GLOBALS['flag_multibyte'] and @mb_internal_encoding($charset)) {
        $subject = mb_encode_mimeheader($subject, $charset, 'Q');
    }
    if ($flag_wordwrap) {
        $texte = wordwrap($texte);
    }
    if ($os_serveur == 'windows') {
        $texte = preg_replace("/\r*\n/", "\r\n", $texte);
        $headers = preg_replace("/\r*\n/", "\r\n", $headers);
    }
    switch ($hebergeur) {
        case 'lycos':
            $queue_mails[] = array('email' => $email, 'sujet' => $subject, 'texte' => $texte, 'headers' => $headers);
            return true;
        case 'free':
            return false;
        case 'online':
            if (!($ret = @email('webmaster', $email, $subject, $texte))) {
                lcm_log("ERROR mail: (online) returned false");
            }
            return $ret;
        default:
            if (!($ret = @mail($email, $subject, $texte, $headers))) {
                lcm_log("ERROR mail: (default) returned false");
            }
            return $ret;
    }
}
开发者ID:nyimbi,项目名称:legalcase,代码行数:50,代码来源:inc_mail.php


示例5: breves_edit_ok

function breves_edit_ok($row, $id_breve, $id_rubrique, $new)
{
	global  $connect_statut, $spip_lang_right;

	if ($new != 'oui') {
		$id_breve=$row['id_breve'];
		$titre=$row['titre'];
		$statut=$row['statut'];
		$id_rubrique=$row['id_rubrique'];
	} else {
		$titre = filtrer_entites(_T('titre_nouvelle_breve'));
		$statut = "prop";
	}

	$commencer_page = charger_fonction('commencer_page', 'inc');
	pipeline('exec_init',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));

	echo $commencer_page(_T('titre_page_breves_edit', array('titre' => $titre)), "naviguer", "breves", $id_rubrique);

	echo debut_grand_cadre(true);
	echo afficher_hierarchie($id_rubrique);

	echo fin_grand_cadre(true);
	echo debut_gauche('', true);
	if ($new != 'oui' AND ($connect_statut=="0minirezo" OR $statut=="prop")) {
	# affichage sur le cote des images, en reperant les inserees
	# note : traiter_modeles($texte, true) repere les doublons
	# aussi efficacement que propre(), mais beaucoup plus rapidement
		traiter_modeles("$titre$texte", true);
		echo afficher_documents_colonne($id_breve, "breve");
	}
	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));
	echo creer_colonne_droite('', true);
	echo pipeline('affiche_droite',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));
	echo debut_droite('', true);

	$contexte = array(
	'icone_retour'=>$new=='oui'?'':icone_inline(_T('icone_retour'), generer_url_ecrire("breves_voir","id_breve=$id_breve"), "breve-24.gif", "rien.gif",$GLOBALS['spip_lang_left']),
	'redirect'=>generer_url_ecrire("breves_voir"),
	'titre'=>$titre,
	'new'=>$new == "oui"?$new:$id_breve,
	'id_rubrique'=>$id_rubrique,
	'config_fonc'=>'breves_edit_config'
	);

	echo recuperer_fond("prive/editer/breve", $contexte);

	echo fin_gauche(), fin_page();

}
开发者ID:rhertzog,项目名称:lcs,代码行数:50,代码来源:breves_edit.php


示例6: onelettrebis

function onelettrebis($chaine) {
    $chaine=sansle($chaine); 
    $chaine=filtrer_entites($chaine); // si il y a des fois des accents en dur qui trainent
    $chaine = unicode2charset(utf_8_to_unicode($chaine), 'iso-8859-1'); // on code en html ISO
    $a = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
    $b = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
    $chaine=strtr($chaine, $a, $b); // on retire les accents
    $chaine=strtoupper($chaine); // on passe en majuscules 
    /// si débute par le fameux Œ ou œ
    $pattern = "^(Œ|œ)";
    if (eregi($pattern,$chaine,$regs)) 
        $chaine='O';//$chaine= $regs[0]; //on va renvoyer la lettre O
    else 
        $chaine = $chaine{0}; 
    return $chaine ;
}
开发者ID:rougerose,项目名称:actions-traitements,代码行数:16,代码来源:mes_fonctions.php


示例7: nettoyer_caracteres_mail

function nettoyer_caracteres_mail($t) {

	$t = filtrer_entites($t);

	if ($GLOBALS['meta']['charset'] <> 'utf-8') {
		$t = str_replace(
			array("&#8217;","&#8220;","&#8221;"),
			array("'",      '"',      '"'),
		$t);
	}

	$t = str_replace(
		array("&mdash;", "&endash;"),
		array("--","-" ),
	$t);

	return $t;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:18,代码来源:envoyer_mail.php


示例8: spam_liste_mots

function spam_liste_mots($texte) {
	include_spip('inc/filtres');
	$texte = filtrer_entites(trim($texte));
	$split = explode('"', $texte);
	$c = count($split);
	$split2 = array();
	for($i=0; $i<$c; $i++) if (($s = trim($split[$i])) != ""){
		if (($i & 1) && ($i != $c-1)) {
			// on touche pas au texte entre deux ""
			$split2[] = $s;
		} else {
			// on rassemble tous les separateurs : \s\t\n
			$temp = preg_replace("/[\s\t\n\r]+/", "\t", $s);
			$temp = str_replace("+"," ", $temp);
			$split2 = array_merge($split2, explode("\t", $temp));
		}
	}
	return array_unique($split2);
}
开发者ID:rhertzog,项目名称:lcs,代码行数:19,代码来源:spam.php


示例9: exec_spiplistes_liste_gerer


//.........这里部分代码省略.........
	}
	else if($id_liste > 0)
	{
	//////////////////////////////////////////////////////
	// Modifier une liste
	////
		// les admins toutes rubriques et le moderateur seuls peuvent modifier la liste
		$flag_editable = autoriser('moderer', 'liste', $id_liste);

		if($flag_editable)
		{
		
			// Recupere les donnees de la liste courante pour optimiser l'update
			$sql_select = "statut,titre,date,lang";
			$sql_result = sql_select($sql_select, "spip_listes", "id_liste=".sql_quote($id_liste), "", "", "1");
			if($row = sql_fetch($sql_result)) {
				foreach(explode(",", $sql_select) as $key) {
					$current_liste[$key] = $row[$key];
				}
			}
			
			///////////////////////////////////
			// Les modifications (sql_upadteq)
			// A noter, ne pas preparer les valeurs par sql_quote()
			//  sql_upadteq() s'en occupe
			
			$sql_champs = array();

			// Retour de l'editeur ?
			if($btn_liste_edit) {
				$titre = corriger_caracteres($titre);
				$texte = corriger_caracteres($texte);
				if(empty($titre)) {
					$titre = filtrer_entites(_T('spiplistes:Nouvelle_liste_de_diffusion'));
				}
				$sql_champs['titre'] = $titre;
				$sql_champs['texte'] = $texte;
			}
			
			// Modifier le grand patron ?
			// a partir de 2.0049, le patron de pied est construit par la meleuse
			// afin de permettre _texte et multilingue
			if($btn_grand_patron && $patron) {
				$sql_champs['patron'] = $patron;
			}
			
			// Modifier patron de pied ?
			if($btn_patron_pied && $patron) {
				$sql_champs['pied_page'] = $patron;
			}
			
			// Modifier diffusion ?
			if($btn_modifier_diffusion)
			{
				$current_statut = ($statut)
					? $statut
					: $current_liste['statut']
					;
					
				spiplistes_debug_log ('Modification diffusion statut: '.$current_statut);
				
				// Modifier le statut ?
				if(in_array($statut, explode(";", _SPIPLISTES_LISTES_STATUTS_TOUS)) 
					&& ($statut != $current_liste['statut'])
				) {
					spiplistes_debug_log ('Modification statut: '.$statut);
开发者ID:rhertzog,项目名称:lcs,代码行数:67,代码来源:spiplistes_liste_gerer.php


示例10: precharger_traduction_objet

/**
 * Récupère les valeurs d'une traduction de référence pour la création
 * d'un objet (préremplissage du formulaire). 
 *
 * @param string $type
 *     Type d'objet (article, breve...)
 * @param string|int $id_objet
 *     Identifiant de l'objet, ou "new" pour une création
 * @param int $id_rubrique
 *     Identifiant éventuel de la rubrique parente
 * @param int $lier_trad
 *     Identifiant éventuel de la traduction de référence
 * @param string $champ_titre
 *     Nom de la colonne SQL de l'objet donnant le titre
 * @return array
 *     Couples clés / valeurs des champs du formulaire à charger
**/
function precharger_traduction_objet($type, $id_objet, $id_rubrique = 0, $lier_trad = 0, $champ_titre = 'titre')
{
    $table = table_objet_sql($type);
    $_id_objet = id_table_objet($table);
    // Recuperer les donnees de l'objet original
    $row = sql_fetsel("*", $table, "{$_id_objet}={$lier_trad}");
    if ($row) {
        $row[$champ_titre] = filtrer_entites(_T('info_nouvelle_traduction')) . ' ' . $row[$champ_titre];
    } else {
        $row = array();
    }
    // on met l'objet dans une rubrique si l'objet le peut
    $desc = lister_tables_objets_sql($table);
    $is_rubrique = isset($desc['field']['id_rubrique']);
    if ($is_rubrique) {
        if ($id_rubrique) {
            $row['id_rubrique'] = $id_rubrique;
            return $row;
        }
        $id_rubrique = $row['id_rubrique'];
        // Regler la langue, si possible, sur celle du redacteur
        // Cela implique souvent de choisir une rubrique ou un secteur
        if (in_array($GLOBALS['spip_lang'], explode(',', $GLOBALS['meta']['langues_multilingue']))) {
            // Si le menu de langues est autorise sur l'objet,
            // on peut changer la langue quelle que soit la rubrique
            // donc on reste dans la meme rubrique
            if (in_array($table, explode(',', $GLOBALS['meta']['multi_objets']))) {
                $row['id_rubrique'] = $row['id_rubrique'];
                # explicite :-)
                // Sinon, chercher la rubrique la plus adaptee pour
                // accueillir l'objet dans la langue du traducteur
            } elseif ($is_rubrique and $GLOBALS['meta']['multi_rubriques'] == 'oui') {
                if ($GLOBALS['meta']['multi_secteurs'] == 'oui') {
                    $id_parent = 0;
                } else {
                    // on cherche une rubrique soeur dans la bonne langue
                    $row_rub = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique={$id_rubrique}");
                    $id_parent = $row_rub['id_parent'];
                }
                $row_rub = sql_fetsel("id_rubrique", "spip_rubriques", "lang='" . $GLOBALS['spip_lang'] . "' AND id_parent={$id_parent}");
                if ($row_rub) {
                    $row['id_rubrique'] = $row_rub['id_rubrique'];
                }
            }
        }
    }
    return $row;
}
开发者ID:nursit,项目名称:SPIP,代码行数:65,代码来源:precharger_objet.php


示例11: signatures_edit_mail

function signatures_edit_mail($id_article, $ad_email, $row) {

	$email = attribut_html($ad_email);
	if (email_valide($ad_email)) {
		if ($row['statut'] != 'publie'
		AND autoriser('modererpetition', 'article', $id_article)) {
			include_spip('formulaires/signature');
			$url = generer_url_entite_absolue($id_article, 'article','','',true);
			list($titre, $url) = signature_langue($id_article, $url);

			list($sujet, $corps) = signature_demande_confirmation($id_article, $url, $row['nom_email'], $row['nom_site'], $row['url_site'], $row['message'], $titre, $row['statut']);

			include_spip('inc/filtres');
			$sujet = rawurlencode(filtrer_entites($sujet));
			$corps = rawurlencode(filtrer_entites($corps));
			$corps = "?subject=$sujet&amp;body=$corps";
		} else $corps = '';
		$email = "<a href=\"mailto:$ad_email$corps\">$email</a>";
	}
	return "<div class='ad_email'><span class='spip_x-small'>"
			._T('info_adresse_email')
			."</span> "
			. $email
			. "</div>\n";

}
开发者ID:rhertzog,项目名称:lcs,代码行数:26,代码来源:signatures.php


示例12: couper

function couper($texte, $taille = 50)
{
    $texte = substr($texte, 0, 400 + 2 * $taille);
    /* eviter de travailler sur 10ko pour extraire 150 caracteres */
    // on utilise les \r pour passer entre les gouttes
    $texte = str_replace("\r\n", "\n", $texte);
    $texte = str_replace("\r", "\n", $texte);
    // sauts de ligne et paragraphes
    $texte = preg_replace("/\n\n+/", "\r", $texte);
    $texte = preg_replace("/<(p|br)( [^>]*)?/" . ">", "\r", $texte);
    // supprimer les traits, lignes etc
    $texte = preg_replace("/(^|\r|\n)(-[-#\\*]*|_ )/", "\r", $texte);
    // supprimer les tags
    $texte = supprimer_tags($texte);
    $texte = trim(str_replace("\n", " ", $texte));
    $texte .= "\n";
    // marquer la fin
    // travailler en accents charset
    $texte = filtrer_entites($texte);
    // supprimer les liens
    $texte = preg_replace("/\\[->([^]]*)\\]/", "\\1", $texte);
    // liens sans texte
    $texte = preg_replace("/\\[([^\\[]*)->([^]]*)\\]/", "\\1", $texte);
    // supprimer les notes
    $texte = preg_replace("/[\\[([^]]|\\][^]])*\\]\\]/", "", $texte);
    // supprimer les codes typos
    $texte = preg_replace("/[{}]/", "", $texte);
    // supprimer les tableaux
    $texte = preg_replace("/(^|\r)\\|.*\\|\r/", "\r", $texte);
    // couper au mot precedent
    $long = substr($texte, 0, max($taille - 4, 1));
    $court = preg_replace("/([^[:space:]][[:space:]]+)[^[:space:]]*\n?\$/", "\\1", $long);
    $points = '&nbsp;(...)';
    // trop court ? ne pas faire de (...)
    if (strlen($court) < max(0.75 * $taille, 2)) {
        $points = '';
        $long = preg_replace("/&#?[a-z0-9]*;?\$/", "", substr($texte, 0, $taille));
        $texte = preg_replace("/([^[:space:]][[:space:]]+)[^[:space:]]*\$/", "\\1", $long);
        // encore trop court ? couper au caractere
        if (strlen($texte) < 0.75 * $taille) {
            $texte = $long;
        }
    } else {
        $texte = $court;
    }
    if (strpos($texte, "\n")) {
        // la fin est encore la : c'est qu'on n'a pas de texte de suite
        $points = '';
    }
    // remettre les paragraphes
    $texte = preg_replace("/\r+/", "\n\n", $texte);
    return trim($texte) . $points;
}
开发者ID:nyimbi,项目名称:legalcase,代码行数:53,代码来源:inc_text.php


示例13: spiplistes_courrier_version_texte

/**
 * @param $in string, contenu html du courrier a envoyer
 * @return string, version texte seul (ascii) du courrier
 **/
function spiplistes_courrier_version_texte($in) {

	$eol = PHP_EOL;
	
	// Nettoyage des liens des notes de bas de page
	$out = preg_replace("@<a href=\"#n(b|h)[0-9]+-[0-9]+\" name=\"n(b|h)[0-9]+-[0-9]+\" class=\"spip_note\">([0-9]+)</a>@"
						, "\\3", $in);
	
	// Supprimer tous les liens internes
	$patterns = array("/\<a href=['\"]#(.*?)['\"][^>]*>(.*?)<\/a>/ims");
	$replacements = array("\\2");
	$out = preg_replace($patterns,$replacements, $out);
	
	// Supprime feuille style
	$out = preg_replace("/<style[^>]*>[^<]*<\/style>/", '', $out);
	
	// les puces
	// @see http://www.spip.net/fr_article1825.html
	if (isset($GLOBALS['puce'])) {
		$out = str_replace($GLOBALS['puce'], $eol.'-', $out);
	}
	
	// Remplace tous les liens	
	$patterns = array("/\<a href=['\"](.*?)['\"][^>]*>(.*?)<\/a>/ims");
	$replacements = array("\\2 (\\1)");
	$out = preg_replace($patterns,$replacements, $out);
	
	$_traits = str_repeat('-', 40);
	$_points = str_repeat('.', 20);
	
	$out = preg_replace('/<h1[^>]*>/', '_SAUT__SAUT_'.$_traits.'_SAUT_', $out);
	$out = str_replace('</h1>', '_SAUT__SAUT_'.$_traits.'_SAUT__SAUT_', $out);
	$out = preg_replace('/<h2[^>]*>/', '_SAUT__SAUT_'.$_points.' ', $out);
	$out = str_replace('</h2>', ' '.$_points.'_SAUT__SAUT_', $out);
	$out = preg_replace('/<h3[^>]*>/', '_SAUT__SAUT_*', $out);
	$out = str_replace('</h3>', '*_SAUT__SAUT_', $out);
	
	// Les notes de bas de page
	$out = str_replace('<p class="spip_note">', $eol, $out);
	$out = preg_replace('/<sup>([0-9]+)<\/sup>/', '[\\1]', $out);
	
	// etrange parfum de regex dans un str_replace ?
	// @todo: a verifier
	//$out = str_replace('<p[^>]*>', $eol.$eol, $out);
	
	//$out = str_replace('<br /><img class=\'spip_puce\' src=\'puce.gif\' alt=\'-\' border=\'0\'>', "\n".'-', $out);
	$out = preg_replace('/<li[^>]>/', $eol.'-', $out);
	//$out = str_replace('<li>', "\n".'-', $out);
	
	
	// accentuation du gras -
	// <b>texte</b> -> *texte*
	$out = preg_replace('/<b[^>|r]*>/','*' ,$out);
	$out = str_replace ('</b>','*' ,$out);
	
	// accentuation du gras -
	// <strong>texte</strong> -> *texte*
	$out = preg_replace('/<strong[^>]*>/','*' ,$out);
	$out = str_replace ('</strong>','*' ,$out);
	
	
	// accentuation de l'italique
	// <i>texte</i> -> *texte*
	$out = preg_replace('/<i[^>|mg]*>/','*' ,$out);
	$out = str_replace ('</i>', '*', $out);
	
	$out = str_replace('&oelig;', 'oe', $out);
	$out = str_replace('&nbsp;', ' ', $out);
	$out = filtrer_entites($out);
	
	//attention, trop brutal pour les logs irc <@RealET>
	$out = supprimer_tags($out);
	
	$out = str_replace('\x0B', '', $out); 
	$out = str_replace("\t", '', $out) ;
	$out = preg_replace('/[ ]{3,}/', '', $out);
	
	// espace en debut de ligne
	$out = preg_replace("/(\r\n|\n|\r)[ ]+/m", $eol, $out);
	
	// Bring down number of empty lines to 2 max
	// sauts de ligne >= 3 reduits a 2
	$out = preg_replace("/(\r\n|\n|\r){3,}/m", $eol.$eol, $out);
	
	//retablir les saut de ligne
	//Réduire les > 3 à 3
	$out = preg_replace('/(_SAUT_){4,}/m', '_SAUT__SAUT__SAUT_', $out);
	$out = str_replace('_SAUT_', $eol, $out);
	
	//saut de lignes en debut et fin de texte
	$out = $eol.$eol.trim($out).$eol.$eol;
	
	// Faire des lignes de 75 caracteres maximum
	$out = wordwrap($out);
	
	return $out;
//.........这里部分代码省略.........
开发者ID:rhertzog,项目名称:lcs,代码行数:101,代码来源:spiplistes_api_courrier.php


示例14: article_select_trad

function article_select_trad($lier_trad, $id_rubrique=0) {
	// Recuperer les donnees de l'article original
	$row = sql_fetsel("*", "spip_articles", "id_article=$lier_trad");
	if ($row) {
		$row['titre'] = filtrer_entites(_T('info_nouvelle_traduction')).' '.$row["titre"];

	} else $row = array();
	if ($id_rubrique) {
		$row['id_rubrique'] = $id_rubrique;
		return $row;
	}
	$id_rubrique = $row['id_rubrique'];
	// Regler la langue, si possible, sur celle du redacteur
	// Cela implique souvent de choisir une rubrique ou un secteur
	if (in_array($GLOBALS['spip_lang'],
	explode(',', $GLOBALS['meta']['langues_multilingue']))) {
		// Si le menu de langues est autorise sur les articles,
		// on peut changer la langue quelle que soit la rubrique
		// donc on reste dans la meme rubrique
		if ($GLOBALS['meta']['multi_articles'] == 'oui') {
			$row['id_rubrique'] = $row['id_rubrique']; # explicite :-)
		}
		else if ($GLOBALS['meta']['multi_rubriques'] == 'oui') {
			// Sinon, chercher la rubrique la plus adaptee pour
			// accueillir l'article dans la langue du traducteur
			if ($GLOBALS['meta']['multi_secteurs'] == 'oui') {
				$id_parent = 0;
			} else {
				// on cherche une rubrique soeur dans la bonne langue
				$row_rub = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=$id_rubrique");

				$id_parent = $row_rub['id_parent'];
			}
			$row_rub = sql_fetsel("id_rubrique", "spip_rubriques", "lang='".$GLOBALS['spip_lang']."' AND id_parent=$id_parent");
			if ($row_rub)
				$row['id_rubrique'] = $row_rub['id_rubrique'];
		}
	}
	return $row;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:40,代码来源:article_select.php


示例15: exec_rubriques_edit_args

function exec_rubriques_edit_args($id_rubrique, $id_parent, $new, $lier_trad)
{
	global $connect_toutes_rubriques, $connect_statut, $spip_lang_right;

	$titre = false;

	if ($new == "oui") {
		$id_rubrique = 0;
		$titre = filtrer_entites(_T('titre_nouvelle_rubrique'));

		if (!autoriser('creerrubriquedans','rubrique',$id_parent)) {
			$id_parent = intval(reset($GLOBALS['connect_id_rubrique']));
		}
	} else {
		$row = sql_fetsel("*", "spip_rubriques", "id_rubrique=$id_rubrique");
		if ($row) {
	
			$id_parent = $row['id_parent'];
			$titre = $row['titre'];
			$id_secteur = $row['id_secteur'];
		}
	}
	$commencer_page = charger_fonction('commencer_page', 'inc');

	if ($titre === false
	OR ($new=='oui' AND !autoriser('creerrubriquedans','rubrique',$id_parent))
	OR ($new!='oui' AND !autoriser('modifier','rubrique',$id_rubrique)))  {
		include_spip('inc/minipres');
		echo minipres();
	} else {

	pipeline('exec_init',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));
	echo $commencer_page(_T('info_modifier_titre', array('titre' => $titre)), "naviguer", "rubriques", $id_rubrique);

	if ($id_parent == 0) $ze_logo = "secteur-24.gif";
	else $ze_logo = "rubrique-24.gif";

	echo debut_grand_cadre(true);
	echo afficher_hierarchie($id_parent,'',$id_rubrique,'rubrique');
	echo fin_grand_cadre(true);

	echo debut_gauche('', true);

	// Pave "documents associes a la rubrique"
	if (!$new){
		# affichage sur le cote des pieces jointes, en reperant les inserees
		# note : traiter_modeles($texte, true) repere les doublons
		# aussi efficacement que propre(), mais beaucoup plus rapidement
		traiter_modeles(join('',$row), true);
		echo afficher_documents_colonne($id_rubrique, 'rubrique');
	} 

	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));
	echo creer_colonne_droite('', true);
	echo pipeline('affiche_droite',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));	  
	echo debut_droite('', true);

	$contexte = array(
	'icone_retour'=>icone_inline(_T('icone_retour'), generer_url_ecrire("naviguer","id_rubrique=$id_rubrique"), $ze_logo, "rien.gif",$GLOBALS['spip_lang_left']),
	'redirect'=>generer_url_ecrire("naviguer"),
	'titre'=>$titre,
	'new'=>$new == "oui"?$new:$id_rubrique,
	'id_rubrique'=>$id_parent, // pour permettre la specialisation par la rubrique appelante
	'config_fonc'=>'rubriques_edit_config',
	'lier_trad'=>$lier_trad
	);

	echo recuperer_fond("prive/editer/rubrique", $contexte);

	echo pipeline('affiche_milieu',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));	  

	echo fin_gauche(), fin_page();
	}
}
开发者ID:rhertzog,项目名称:lcs,代码行数:74,代码来源:rubriques_edit.php


示例16: get_id_doc

function get_id_doc($fichier) {
    if (trim($fichier)=="") return false;   
    spip_log("get_id_doc cherche : ".$fichier,"snippets"); 
    $sql = "SELECT id_document FROM spip_documents WHERE fichier='".addslashes(filtrer_entites($fichier))."'";
    $result = spip_query($sql);
    while ($row = spip_fetch_array($result)) {
       spip_log("get_id_doc trouve : ".$row['id_document'],"snippets");
       return $row['id_document'];
    }
    // inconnu  ...
    spip_log("get_id_doc trouve pas :( ","snippets");
    return false ;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:13,代码来源:snippets.php


示例17: analyser_site

/**
 * Analyser une URL de site distant, qui peut être une syndication.
 *
 * @param string $url
 *     URL du site à analyser
 * @return array|bool
 *     - array : informations du site
 *     - false : site impossible à récupérer
 **/
function analyser_site($url)
{
    include_spip('inc/filtres');
    include_spip('inc/distant');
    // Accepter les URLs au format feed:// ou qui ont oublie le http://
    $url = preg_replace(',^feed://,i', 'http://', $url);
    if (!preg_match(',^[a-z]+://,i', $url)) {
        $url = 'http://' . $url;
    }
    $texte = recuperer_page($url, true);
    if (!$texte) {
        return false;
    }
    include_spip('inc/syndic');
    cdata_echappe($texte, $echappe_cdata);
    if (preg_match(',<(channel|feed)([\\:[:space:]][^>]*)?' . '>(.*)</\\1>,ims', $texte, $regs)) {
        $result['syndication'] = 'oui';
        $result['url_syndic'] = $url;
        $channel = $regs[3];
        // Pour recuperer l'entete, on supprime tous les items
        $b = array_merge(extraire_balises($channel, 'item'), extraire_balises($channel, 'entry'));
        $header = str_replace($b, array(), $channel);
        if ($t = extraire_balise($header, 'title')) {
            cdata_echappe_retour($t, $echappe_cdata);
            $result['nom_site'] = filtrer_entites(supprimer_tags($t));
        }
        if ($t = extraire_balises($header, 'link')) {
            cdata_echappe_retour($t, $echappe_cdata);
            foreach ($t as $link) {
                $u = supprimer_tags(filtrer_entites($link));
                if (!strlen($u)) {
                    $u = extraire_attribut($link, 'href');
                }
                if (strlen($u)) {
                    // on installe l'url comme url du site
                    // si c'est non vide, en donnant la priorite a rel=alternate
                    if (preg_match(',\\balternate\\b,', extraire_attribut($link, 'rel')) or !isset($result['url_site'])) {
                        $result['url_site'] = filtrer_entites($u);
                    }
                }
            }
        }
        $result['url_site'] = url_absolue($result['url_site'], $url);
        if ($a = extraire_balise($header, 'description') or $a = extraire_balise($header, 'tagline')) {
            cdata_echappe_retour($a, $echappe_cdata);
            $result['descriptif'] = filtrer_entites(supprimer_tags($a));
        }
        if (preg_match(',<image.*<url.*>(.*)</url>.*</image>,Uims', $header, $r) and preg_match(',(https?://.*/.*(gif|png|jpg)),ims', $r[1], $r) and $image = recuperer_infos_distantes($r[1])) {
            if (in_array($image['extension'], array('gif', 'jpg', 'png'))) {
                $result['format_logo'] = $image['extension'];
                $result['logo'] = $r[1];
            } else {
                if ($image['fichier']) {
                    spip_unlink($image['fichier']);
                }
            }
        }
    } else {
        $result['syndication'] = 'non';
        $result['url_site'] = $url;
        if (preg_match(',<head>(.*(description|title).*)</head>,Uims', $texte, $regs)) {
            $head = filtrer_entites($regs[1]);
        } else {
            $head = $texte;
        }
        if (preg_match(',<title[^>]*>(.*),ims', $head, $regs)) {
            $titre = trim($regs[1]);
            if (!strlen($titre)) {
                $titre = substr($head, strpos($head, $regs[0]));
            }
            $result['nom_site'] = filtrer_entites(supprimer_tags(preg_replace(',</title>.*$,ims', '', $titre)));
        }
        if ($a = array_merge(extraire_balises($head, 'meta'), extraire_balises($head, 'http-equiv'))) {
            foreach ($a as $meta) {
                if (extraire_attribut($meta, 'name') == 'description') {
                    $desc = trim(extraire_attribut($meta, 'content'));
                    if (!strlen($desc)) {
                        $desc = trim(extraire_attribut($meta, 'value'));
                    }
                    $result['descriptif'] = $desc;
                }
            }
        }
        // Cherchons quand meme un backend
        include_spip('inc/distant');
        include_spip('inc/feedfinder');
        $feeds = get_feed_from_url($url, $texte);
        // si on a a trouve un (ou plusieurs) on le note avec select:
        // ce qui constitue un signal pour exec=sites qui proposera de choisir
        // si on syndique, et quelle url.
        if (count($feeds) >= 1) {
//.........这里部分代码省略.........
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:101,代码来源:site.php


示例18: spiplistes_meleuse


//.........这里部分代码省略.........
		
		// prendre la premiere etiquette sur le tas et traiter son courrier
		$sql_courrier_select = array(
			'titre', 'texte', 'message_texte', 'type'
			, 'id_courrier', 'id_liste', 'email_test', 'total_abonnes', 'date_debut_envoi'
			);
		if($id_courrier = 
			intval(spiplistes_courriers_en_queue_premier('id_courrier', 'etat='.$sql_vide))
		) {
			$sql_courrier_a_traiter = spiplistes_courriers_casier_premier(
				  $sql_courrier_select
				, 'id_courrier='.sql_quote($id_courrier)
			);
			spiplistes_debug_log ($prefix_log.'etiquette en cours pour id_courrier #'.$id_courrier);
		} else {
			// un vieux bug dans une ancienne version, eradique depuis (j'espere ;-)
			//spiplistes_log($prefix_log."premiere etiquette en erreur. id_courier = 0. Supprimer cette etiquette manuellement !");
			spiplistes_log(_T('spiplistes:erreur_queue_supprimer_courrier'
							  , array('s' => $prefix_log))
						   );
		}
		
		// boucle (sur LIMIT 1) pour pouvoir sortir par break si erreur
		while($row = sql_fetch($sql_courrier_a_traiter)) {
		
			foreach($sql_courrier_select as $key) {
				$$key = $row[$key];
			}
			foreach(array('id_courrier','id_liste','total_abonnes') as $key) {
				$$key = intval($$key);
			}
			// objet (subject) ne peut pas être en html ?!
			// sauf pour le webmail (et encore)
			$objet_html = filtrer_entites(typo(spiplistes_calculer_balise_titre(extraire_multi($titre))));
			$page_html = stripslashes($texte);
			$message_texte = stripslashes($message_texte);
			
			$nb_emails = array();
			
			// compteur pour la session uniquement
			// le total de chaque sera ajoute en fin de session
			$nb_emails_envoyes =
				$nb_emails_echec = 
				$nb_emails_non_envoyes = 
				$nb_emails['texte'] = 
				$nb_emails['html'] = 0
				;
			
			$str_log = 'id_courrier #'.$id_courrier;
			
			//////////////////////////
			// Determiner email de l emetteur
			if($is_a_test = email_valide($email_test)) {
				// courrier a destination adresse email de test
				$str_log .= ' TO: '.$email_test.' (TEST)';
			} 
			else if($id_liste > 0) {
				// courrier a destination des abonnes d'une liste
				$total_abonnes = spiplistes_listes_nb_abonnes_compter($id_liste);
				$str_log .= ' TO id_liste #'.$id_liste.' ('.$total_abonnes.' users)';
	
				$lang = spiplistes_listes_langue($id_liste);

				if($lang != '') {
					$GLOBALS['spip_lang'] = $lang;
				}
开发者ID:rhertzog,项目名称:lcs,代码行数:67,代码来源:spiplistes_meleuse.php


示例19: cdata_echappe_retour

function cdata_echappe_retour(&$x, &$echappe_cdata)
{
    if (is_string($x)) {
        if (strpos($x, '&lt;') !== false) {
            $x = filtrer_entites($x);
        }
        if (strpos($x, '@@@SPIP_CDATA') !== false) {
            $x = str_replace(array_keys($echappe_cdata), array_values($echappe_cdata), $x);
        }
    } else {
        if (is_array($x)) {
            foreach ($x as $k => &$v) {
                cdata_echappe_retour($v, $echappe_cdata);
            }
        }
    }
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:17,代码来源:syndic.php


示例20: exec_spiplistes_liste_edit

该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP fim函数代码示例发布时间:2022-05-15
下一篇:
PHP filtrate函数代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap