当前位置: 首页>>代码示例>>PHP>>正文


PHP extraire_balises函数代码示例

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


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

示例1: ogone_form_sha_in

/**
 * signer le contexte du formulaire
 * s'applique sur le html pour permettre sa personalisation
 *
 * @param string $texte
 * @param array $config
 * @return string
 */
function ogone_form_sha_in($texte, $config = null)
{
    // ne rien faire si pas de config
    if (!$config) {
        return $texte;
    }
    $forms = extraire_balises($texte, "form");
    foreach ($forms as $form) {
        $form_s = $form;
        $input = extraire_balises($form, "input");
        $args = array();
        foreach ($input as $i) {
            if (extraire_attribut($i, 'type') == 'hidden') {
                $name = extraire_attribut($i, 'name');
                $value = extraire_attribut($i, 'value');
                // si jamais on applique 2 fois, supprimer la signature precedement calculee
                if ($name == "SHASign") {
                    $form_s = str_replace($i, "", $form_s);
                } else {
                    $args[$name] = $value;
                }
            }
        }
        $s = ogone_sha_in($args, $config);
        $form_s = str_replace(end($input), end($input) . "<input type='hidden' name='SHASign' value='{$s}' />", $form_s);
        $texte = str_replace($form, $form_s, $texte);
    }
    return $texte;
}
开发者ID:nursit,项目名称:bank,代码行数:37,代码来源:acte.php

示例2: navbar_responsive

/**
 * Ajouter le markup html pour une navbar responsive
 * [<div class="navbar navbar-inverse navbar-responsive" id="nav">
 * (#INCLURE{fond=inclure/nav,env}|navbar_responsive)
 * </div>]
 *
 * @param string $nav
 * @param string $class_collapse nom de la class à plier/déplier
 * @return string
 */
function navbar_responsive($nav, $class_collapse = 'nav-collapse-main')
{
    if (strpos($nav, 'nav-collapse') !== false) {
        return $nav;
    }
    $respnav = '';
    $uls = extraire_balises($nav, "ul");
    $n = 1;
    while ($ul = array_shift($uls) and strpos(extraire_attribut($ul, "class"), "nav") === false) {
        $n++;
    }
    if ($ul) {
        $respnav = $nav;
        $p = strpos($respnav, $ul);
        $respnav = substr_replace($respnav, '<a class="btn btn-navbar" data-toggle="collapse" data-target=".' . $class_collapse . '">' . '<span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a>' . "\n" . '<div class="nav-collapse ' . $class_collapse . ' collapse">', $p, 0);
        $l = strlen($respnav);
        $p = $l - 1;
        while ($n--) {
            $p = strrpos($respnav, "</ul>", $p - $l);
        }
        if ($p) {
            $respnav = substr_replace($respnav, '</div>', $p + 5, 0);
        } else {
            $respnav = $nav;
        }
    }
    return $respnav;
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:38,代码来源:bootstrap_fonctions.php

示例3: inc_safehtml_dist

function inc_safehtml_dist($t) {
	static $process, $test;

	if (!$test) {
		$process = false;
		if ($f = find_in_path('lib/safehtml/classes')) {
			define('XML_HTMLSAX3', $f.'/');
			require_once XML_HTMLSAX3.'safehtml.php';
			$process = new safehtml();
			$process->deleteTags[] = 'param'; // sinon bug Firefox
		}
		if ($process)
			$test = 1; # ok
		else
			$test = -1; # se rabattre sur une fonction de securite basique
	}

	if ($test > 0) {
		# autoriser des trucs
		# ex: l'embed de youtube
		if (
		false !== strpos($t, 'iframe')) {
			foreach (extraire_balises($t, 'iframe') as $iframe) {
				if (preg_match(',^http://(www\.)?(youtube\.com|(player\.)?vimeo\.com)/.*,', extraire_attribut($iframe, 'src'))) {
					$re = '___IFRAME___'.md5($iframe);
					$ok[$re] = $iframe;
					$t = str_replace($iframe, $re, $t);
				}
			}
		}

		# reset ($process->clear() ne vide que _xhtml...),
		# on doit pouvoir programmer ca plus propremement
		$process->_counter = array();
		$process->_stack = array();
		$process->_dcCounter = array();
		$process->_dcStack = array();
		$process->_listScope = 0;
		$process->_liStack = array();
#		$process->parse(''); # cas particulier ?
		$process->clear();
		$t = $process->parse($t);

		# reinserer les trucs autorises
		if ($ok)
		foreach ($ok as $re => $v)
			$t = str_replace($re, $v, $t);
	}
	else
		$t = entites_html($t); // tres laid, en cas d'erreur

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

示例4: skeleditor_extraire_css

function skeleditor_extraire_css($texte){
	$url_base = url_de_base();
	$url_page = substr(generer_url_public('A'), 0, -1);
	$dir = preg_quote($url_page,',').'|'.preg_quote(preg_replace(",^$url_base,",_DIR_RACINE,$url_page),',');

	$css = array();
	// trouver toutes les css pour les afficher dans le bouton
	// repris du compresseur
	foreach (extraire_balises($texte, 'link') as $s) {
		if (extraire_attribut($s, 'rel') === 'stylesheet'
		AND (!($type = extraire_attribut($s, 'type'))
			OR $type == 'text/css')
		AND !strlen(strip_tags($s))
		AND $src = preg_replace(",^$url_base,",_DIR_RACINE,extraire_attribut($s, 'href'))
		AND (
			// regarder si c'est du format spip.php?page=xxx
			preg_match(',^('.$dir.')(.*)$,', $src, $r)
			OR (
				// ou si c'est un fichier
				// enlever un timestamp eventuel derriere un nom de fichier statique
				$src2 = preg_replace(",[.]css[?].+$,",'.css',$src)
				// verifier qu'il n'y a pas de ../ ni / au debut (securite)
				AND !preg_match(',(^/|\.\.),', substr($src2,strlen(_DIR_RACINE)))
				// et si il est lisible
				AND @is_readable($src2)
			)
		)) {
			if ($r)
				$css[$s] = explode('&',
					str_replace('&amp;', '&', $r[2]), 2);
			else{
				$file = preg_replace(",[?]\d+$,","",$src);
				if (strncmp($file,_DIR_VAR,strlen(_DIR_VAR))==0){
					lire_fichier($file,$c);
					if (preg_match(",^\/\*\s*(#@.*)\s*\*\/,Uims",$c,$m)){
						$inc = explode("#@",$m[1]);
						$inc = array_map('trim',$inc);
						$inc = array_filter($inc);
						foreach($inc as $i){
							if (!in_array($i,$css))
								$css["$s:$i"] = $i;
						}
					}
				}
				else
					$css[$s] = $file;
			}
		}
	}
	return $css;
}
开发者ID:samszo,项目名称:open-edition,代码行数:51,代码来源:skeleditor_options.php

示例5: ogone_form_sha_in

/**
 * signer le contexte du formulaire
 * s'applique sur le html pour permettre sa personalisation
 * 
 * @param string $texte
 */
function ogone_form_sha_in($texte)
{
    $form = extraire_balise($texte, "form");
    $input = extraire_balises($form, "input");
    $args = array();
    foreach ($input as $i) {
        if (extraire_attribut($i, 'type') == 'hidden') {
            $name = extraire_attribut($i, 'name');
            $value = extraire_attribut($i, 'value');
            $args[$name] = $value;
        }
    }
    $s = ogone_sha_in($args);
    $texte = str_replace(end($input), end($input) . "<input type='hidden' name='SHASign' value='{$s}' />", $texte);
    return $texte;
}
开发者ID:rougerose,项目名称:bank,代码行数:22,代码来源:acte.php

示例6: filtre_photoswipe_preparer

function filtre_photoswipe_preparer($texte)
{
    foreach (extraire_balises($texte, 'img') as $img) {
        if ($src = extraire_attribut($img, 'src') and !extraire_attribut($img, 'data-photo')) {
            $l = largeur($img);
            $h = hauteur($img);
            if ($l > 500 or $h > 300) {
                // pour echapper à la ligne de filtres_images_lib_mini qui remplace tout:
                // `$tag = str_replace($src,$surcharge['src'],$tag);`
                $photo_src = str_replace('.', '__.__', $src);
                $img2 = inserer_attribut($img, 'data-photo', $photo_src);
                $img2 = inserer_attribut($img2, 'data-photo-w', $l);
                $img2 = inserer_attribut($img2, 'data-photo-h', $h);
                $texte = str_replace($img, $img2, $texte);
            }
        }
    }
    return $texte;
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:19,代码来源:photoswipe_pipelines.php

示例7: podcast_post_syndication

function podcast_post_syndication($flux)
{
    include_spip("inc/filtres");
    $enclosures = extraire_balises($flux["data"]["enclosures"], "a");
    $date = date("Y-m-d h:i:s", $flux["data"]["date"]);
    if (!$date) {
        $date = date("Y-m-d h:i:s");
    }
    if (is_array($enclosures) and sizeof($enclosures) > 0) {
        foreach ($enclosures as $link) {
            if (extraire_attribut($link, 'type') == "audio/mpeg" or extraire_attribut($link, 'type') == "audio/mp3") {
                $liens[] = extraire_attribut($link, 'href');
            }
        }
    }
    if (is_array($liens) and sizeof($liens) > 0) {
        inserer_document_syndic_article($liens, $flux['args']['id_objet'], $date, $flux["data"]["titre"]);
    } else {
        include_spip("inc/utils");
        // lancer une tache cron de scan
        $id_job = job_queue_add('radiobot_scan', "Scan de " . $flux['args']['id_objet'] . " : " . $flux["data"]["titre"], $arguments = array($flux['args']['id_objet'], $flux["data"]["titre"], $flux['data']['url'], $date), 'podcast_pipelines', $no_duplicate = FALSE, strtotime("+10 seconds"), $priority = 0);
    }
    return $flux;
}
开发者ID:BoOz,项目名称:podcast_client,代码行数:24,代码来源:podcast_pipelines.php

示例8: get_feed_from_url

/**
 * fonction sans finesse mais efficace
 * on parcourt ligne par ligne a la recherche de balise <a> ou <link>
 * si dans le corps de celle-ci on trouve les mots rss, xml, atom ou rdf
 * alors on recupere la valeur href='<url>', on adapte celle-ci si elle
 * est relative et on verifie que c'est bien un feed si oui on l'ajoute
 * au tableau des feed si on ne trouve rien ou si aucun feed est trouve on retourne 
 * un tableau vide
 * 
 * @param string $url
 * 		L'URL à analyser
 * @param $buffer
 * @return array $feed_list
 * 		Le tableau des feed trouvés dans la page
 */
function get_feed_from_url($url, $buffer = false)
{
    global $verif_complete;
    //j'ai prevenu ce sera pas fin
    if (!preg_match("/^http:\\/\\/.*/", $url)) {
        $url = "http://www." . $url;
    }
    if (!$buffer) {
        $buffer = @file_get_contents($url);
    }
    include_spip("inc/filtres");
    $feed_list = array();
    //extraction des <link>
    if ($links = extraire_balises($buffer, "link")) {
        //y a t-y rss atom rdf ou xml dans ces balises
        foreach ($links as $link) {
            if ((strpos($link, "rss") || strpos($link, "rdf") || strpos($link, "atom") || strpos($link, "xml")) && (!strpos($link, 'opensearch') && !strpos($link, 'oembed'))) {
                //voila un candidat on va extraire sa partie href et la placer dans notre tableau
                if ($href = extraire_attribut($link, "href")) {
                    //on aura pris soin de verifier si ce lien est relatif d'en faire un absolu
                    $href = suivre_lien($url, $href);
                    if (!$verif_complete or is_feed($href)) {
                        $feed_list[] = $href;
                    }
                }
            }
        }
    }
    //extraction des <a>
    if ($links = extraire_balises($buffer, "a")) {
        //y a t-y rss atom rdf ou xml dans ces balises
        foreach ($links as $link) {
            if ((strpos($link, "rss") || strpos($link, "rdf") || strpos($link, "atom") || strpos($link, "xml")) && (!strpos($link, 'opensearch') && !strpos($link, 'oembed'))) {
                //voila un candidat on va extraire sa partie href et la placer dans notre tableau
                if ($href = extraire_attribut($link, "href")) {
                    //on aura pris soin de verifier si ce lien est relatif d'en faire un absolu
                    $href = suivre_lien($url, $href);
                    if (!$verif_complete or is_feed($href)) {
                        $feed_list[] = $href;
                    }
                }
            }
        }
    }
    // si c'est un site SPIP, tentons l'url connue
    if (!count($feed_list) and (strpos($url, "spip") or stripos($buffer, "spip"))) {
        $href = suivre_lien($url, "spip.php?page=backend");
        if (is_feed($href)) {
            $feed_list[] = $href;
        }
    }
    return $feed_list;
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:68,代码来源:feedfinder.php

示例9: cvtconf_formulaires_configurer_recense

/**
 * Retrouver les champs d'un formulaire en parcourant son squelette
 * et en extrayant les balises input, textarea, select
 *
 * @param string $form
 * @return array
 */
function cvtconf_formulaires_configurer_recense($form)
{
    $valeurs = array('editable' => ' ');
    // sinon cas analyse du squelette
    if ($f = find_in_path($form . '.' . _EXTENSION_SQUELETTES, 'formulaires/') and lire_fichier($f, $contenu)) {
        for ($i = 0; $i < 2; $i++) {
            // a la seconde iteration, evaluer le fond avec les valeurs deja trouvees
            // permet de trouver aussi les name="#GET{truc}"
            if ($i == 1) {
                $contenu = recuperer_fond("formulaires/{$form}", $valeurs);
            }
            $balises = array_merge(extraire_balises($contenu, 'input'), extraire_balises($contenu, 'textarea'), extraire_balises($contenu, 'select'));
            foreach ($balises as $b) {
                if ($n = extraire_attribut($b, 'name') and preg_match(",^([\\w\\-]+)(\\[\\w*\\])?\$,", $n, $r) and !in_array($n, array('formulaire_action', 'formulaire_action_args')) and extraire_attribut($b, 'type') !== 'submit') {
                    $valeurs[$r[1]] = '';
                    // recuperer les valeurs _meta_xx qui peuvent etre fournies
                    // en input hidden dans le squelette
                    if (strncmp($r[1], '_meta_', 6) == 0) {
                        $valeurs[$r[1]] = extraire_attribut($b, 'value');
                    }
                }
            }
        }
    }
    cvtconf_configurer_lire_meta($form, $valeurs);
    return $valeurs;
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:34,代码来源:cvt_configurer.php

示例10: email_notification_forum

/**
 * Construitre l'email personalise de notification d'un forum
 *
 * @param array $t
 * @param string $email
 * @return string
 */
function email_notification_forum ($t, $email) {
	static $contexte = array();

	if(!isset($contexte[$t['id_forum']])){
		$url = '';
		$id_forum = $t['id_forum'];

		if ($t['statut'] == 'prive') # forum prive
		{
			if ($t['id_article'])
				$url = generer_url_ecrire('articles', 'id_article='.$t['id_article']).'#id'.$id_forum;
			else if ($t['id_breve'])
				$url = generer_url_ecrire('breves_voir', 'id_breve='.$t['id_breve']).'#id'.$id_forum;
			else if ($t['id_syndic'])
				$url = generer_url_ecrire('sites', 'id_syndic='.$t['id_syndic']).'#id'.$id_forum;
		}
		else if ($t['statut'] == 'privrac') # forum general
		{
			$url = generer_url_ecrire('forum').'#id'.$id_forum;
		}
		else if ($t['statut'] == 'privadm') # forum des admins
		{
			$url = generer_url_ecrire('forum_admin').'#id'.$id_forum;
		}
		else if ($t['statut'] == 'publie') # forum publie
		{
			$url = generer_url_entite($id_forum, 'forum');
		}
		else #  forum modere, spam, poubelle direct ....
		{
			$url = generer_url_ecrire('controle_forum', "debut_id_forum=".$id_forum);
		}

		if (!$url) {
			spip_log("forum $id_forum sans referent",'notifications');
			$url = './';
		}
		if ($t['id_article']) {
			$titre = sql_getfetsel("titre", "spip_articles", "id_article=".sql_quote($t['id_article']));
		}
		if ($t['id_message']) {
			$titre = sql_getfetsel("titre", "spip_messages", "id_message=".sql_quote($t['id_message']));
		}

		$t['titre_source'] = $titre;
		$t['url'] = $url;

		// detecter les url des liens du forum
		// pour la moderation (permet de reperer les SPAMS avec des liens caches)
		$links = array();
		foreach ($t as $champ)
			$links = $links + extraire_balises($champ,'a');
		$links = extraire_attribut($links,'href');
		$links = implode("\n",$links);
		$t['liens'] = $links;

		$contexte[$t['id_forum']] = $t;
	}

	$t = $contexte[$t['id_forum']];
		// Rechercher eventuellement la langue du destinataire
	if (NULL !== ($l = sql_getfetsel('lang', 'spip_auteurs', "email=" . sql_quote($email))))
		$l = lang_select($l);

	$parauteur = (strlen($t['auteur']) <= 2) ? '' :
		(" " ._T('forum_par_auteur', array(
			'auteur' => $t['auteur'])
		) .
		 ($t['email_auteur'] ? ' <' . $t['email_auteur'] . '>' : ''));

	$titre = textebrut(typo($t['titre_source']));
	$forum_poste_par = ($t['id_article']
		? _T('forum_poste_par', array(
			'parauteur' => $parauteur, 'titre' => $titre))
		: $parauteur . ' (' . $titre . ')');

	$t['par_auteur'] = $forum_poste_par;

	$envoyer_mail = charger_fonction('envoyer_mail','inc'); // pour nettoyer_titre_email
	$corps = recuperer_fond("notifications/forum_poste",$t);

	if ($l)
		lang_select();

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

示例11: chercher_enclosures_zip

function chercher_enclosures_zip($rss, $desc = '') {
	$liste = array();
	include_spip('inc/syndic');
	foreach(analyser_backend($rss) as $item){
		if ($item['enclosures']
		AND $zips = extraire_balises($item['enclosures'], 'a')){
			if ($img = extraire_balise($item['descriptif'], 'img')
			  AND $src = extraire_attribut($img, 'src')) {
				$item['icon'] = $src;
			}
			foreach ($zips as $zip)
				if (extraire_attribut($zip, 'type') == 'application/zip') {
					if ($url = extraire_attribut($zip, 'href')) {
						$liste[$url] = array($item['titre'], $item['url']);
						if ($desc===true OR $desc == $url)
							$liste[$url][] = $item;
					}
				}
		}
	}
	spip_log(count($liste).' enclosures au format zip');
	return $liste;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:23,代码来源:charger_plugin.php

示例12: page_base_href

function page_base_href(&$texte)
{
    static $set_html_base = null;
    if (is_null($set_html_base)) {
        if (!defined('_SET_HTML_BASE')) {
            $set_html_base = ($GLOBALS['profondeur_url'] >= (_DIR_RESTREINT ? 1 : 2) and _request(_SPIP_PAGE) !== 'login' and !_request('action')) ? true : false;
        } else {
            $set_html_base = _SET_HTML_BASE;
        }
    }
    if ($set_html_base and isset($GLOBALS['html']) and $GLOBALS['html'] and $GLOBALS['profondeur_url'] > 0 and ($poshead = strpos($texte, '</head>')) !== false) {
        $head = substr($texte, 0, $poshead);
        $insert = false;
        if (strpos($head, '<base') === false) {
            $insert = true;
        } else {
            // si aucun <base ...> n'a de href c'est bon quand meme !
            $insert = true;
            include_spip('inc/filtres');
            $bases = extraire_balises($head, 'base');
            foreach ($bases as $base) {
                if (extraire_attribut($base, 'href')) {
                    $insert = false;
                }
            }
        }
        if ($insert) {
            include_spip('inc/filtres_mini');
            // ajouter un base qui reglera tous les liens relatifs
            $base = url_absolue('./');
            $bbase = "\n<base href=\"{$base}\" />";
            if (($pos = strpos($head, '<head>')) !== false) {
                $head = substr_replace($head, $bbase, $pos + 6, 0);
            } elseif (preg_match(",<head[^>]*>,i", $head, $r)) {
                $head = str_replace($r[0], $r[0] . $bbase, $head);
            }
            $texte = $head . substr($texte, $poshead);
            // gerer les ancres
            $base = $_SERVER['REQUEST_URI'];
            if (strpos($texte, "href='#") !== false) {
                $texte = str_replace("href='#", "href='{$base}#", $texte);
            }
            if (strpos($texte, "href=\"#") !== false) {
                $texte = str_replace("href=\"#", "href=\"{$base}#", $texte);
            }
        }
    }
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:48,代码来源:assembler.php

示例13: analyser_backend

function analyser_backend($rss, $url_syndic = '')
{
    include_spip('inc/texte');
    # pour couper()
    $rss = pipeline('pre_syndication', $rss);
    // si true, les URLs de type feedburner sont dereferencees
    define('_SYNDICATION_DEREFERENCER_URL', false);
    // Echapper les CDATA
    cdata_echappe($rss, $echappe_cdata);
    // supprimer les commentaires
    $rss = preg_replace(',<!--.*-->,Ums', '', $rss);
    // simplifier le backend, en supprimant les espaces de nommage type "dc:"
    $rss = preg_replace(',<(/?)(dc):,i', '<\\1', $rss);
    // chercher auteur/lang dans le fil au cas ou les items n'en auraient pas
    list($header) = preg_split(',<(item|entry)\\b,', $rss, 2);
    if (preg_match_all(',<(author|creator)\\b(.*)</\\1>,Uims', $header, $regs, PREG_SET_ORDER)) {
        $les_auteurs_du_site = array();
        foreach ($regs as $reg) {
            $nom = $reg[2];
            if (preg_match(',<name>(.*)</name>,Uims', $nom, $reg)) {
                $nom = $reg[1];
            }
            $les_auteurs_du_site[] = trim(textebrut(filtrer_entites($nom)));
        }
        $les_auteurs_du_site = join(', ', array_unique($les_auteurs_du_site));
    } else {
        $les_auteurs_du_site = '';
    }
    if (preg_match(',<([^>]*xml:)?lang(uage)?' . '>([^<>]+)<,i', $header, $match) and $l = $match[3] or $l = extraire_attribut(extraire_balise($header, 'feed'), 'xml:lang')) {
        $langue_du_site = $l;
    } elseif (preg_match(',<feed\\s[^>]*xml:lang=[\'"]([^<>\'"]+)[\'"],i', $header, $match)) {
        $langue_du_site = $match[1];
    }
    // Recuperer les blocs item et entry
    $items = array_merge(extraire_balises($rss, 'item'), extraire_balises($rss, 'entry'));
    //
    // Analyser chaque <item>...</item> du backend et le transformer en tableau
    //
    if (!count($items)) {
        return _T('sites:avis_echec_syndication_01');
    }
    foreach ($items as $item) {
        $data = array();
        // URL (semi-obligatoire, sert de cle)
        // guid n'est un URL que si marque de <guid ispermalink="true"> ;
        // attention la valeur par defaut est 'true' ce qui oblige a quelque
        // gymnastique
        if (preg_match(',<guid.*>[[:space:]]*(https?:[^<]*)</guid>,Uims', $item, $regs) and preg_match(',^(true|1)?$,i', extraire_attribut($regs[0], 'ispermalink'))) {
            $data['url'] = $regs[1];
        } else {
            if (_SYNDICATION_DEREFERENCER_URL and preg_match(',<feedburner:origLink>(.*)<,Uims', $item, $regs)) {
                $data['url'] = $regs[1];
            } else {
                if (preg_match(',<link[^>]*[[:space:]]rel=["\']?alternate[^>]*>(.*)</link>,Uims', $item, $regs)) {
                    $data['url'] = $regs[1];
                } else {
                    if (preg_match(',<link[^>]*[[:space:]]rel=.alternate[^>]*>,Uims', $item, $regs)) {
                        $data['url'] = extraire_attribut($regs[0], 'href');
                    } else {
                        if (preg_match(',<link[^>]*>\\s*([^\\s]+)\\s*</link>,Uims', $item, $regs)) {
                            $data['url'] = $regs[1];
                        } else {
                            if (preg_match(',<link[^>]*>,Uims', $item, $regs)) {
                                $data['url'] = extraire_attribut($regs[0], 'href');
                            } else {
                                if (preg_match(',<enclosure[^>]*>,ims', $item, $regs) and $url = extraire_attribut($regs[0], 'url')) {
                                    $data['url'] = $url;
                                } else {
                                    $data['url'] = '';
                                }
                            }
                        }
                    }
                }
            }
        }
        // Titre (semi-obligatoire)
        if (preg_match(",<title[^>]*>(.*?)</title>,ims", $item, $match)) {
            $data['titre'] = $match[1];
        } else {
            if (preg_match(',<link[[:space:]][^>]*>,Uims', $item, $mat) and $title = extraire_attribut($mat[0], 'title')) {
                $data['titre'] = $title;
            }
        }
        if (!strlen($data['titre'] = trim($data['titre']))) {
            $data['titre'] = _T('ecrire:info_sans_titre');
        }
        // Date
        $la_date = '';
        if (preg_match(',<(published|modified|issued)>([^<]*)<,Uims', $item, $match)) {
            cdata_echappe_retour($match[2], $echappe_cdata);
            $la_date = my_strtotime($match[2], $langue_du_site);
        }
        if (!$la_date and preg_match(',<(pubdate)>([^<]*)<,Uims', $item, $match)) {
            cdata_echappe_retour($match[2], $echappe_cdata);
            $la_date = my_strtotime($match[2], $langue_du_site);
        }
        if (!$la_date and preg_match(',<([a-z]+:date)>([^<]*)<,Uims', $item, $match)) {
            cdata_echappe_retour($match[2], $echappe_cdata);
            $la_date = my_strtotime($match[2], $langue_du_site);
//.........这里部分代码省略.........
开发者ID:genma,项目名称:spip_ynh,代码行数:101,代码来源:syndic.php

示例14: compresseur_extraire_balises_js_dist

/**
 * Extraire les balises JS à compacter
 * 
 * @param string $flux
 *     Contenu HTML dont on extrait les balises CSS
 * @param string $url_base
 * @return array
 *     Couples (balise => src)
 */
function compresseur_extraire_balises_js_dist($flux, $url_base)
{
    $balises = extraire_balises($flux, 'script');
    $files = array();
    foreach ($balises as $s) {
        if (extraire_attribut($s, 'type') === 'text/javascript' and is_null(extraire_attribut($s, 'id')) and $src = extraire_attribut($s, 'src') and !strlen(strip_tags($s))) {
            $files[$s] = $src;
        }
    }
    return $files;
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:20,代码来源:compresseur.php

示例15: tags2dcsubject

function tags2dcsubject($tags) {
	$subjects = '';
	foreach (extraire_balises($tags, 'a') as $e) {
		if (extraire_attribut($e, rel) == 'tag') {
			$subjects .= '<dc:subject>'
				. texte_backend(textebrut($e))
				. '</dc:subject>'."\n";
		}
	}
	return $subjects;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:11,代码来源:filtres.php


注:本文中的extraire_balises函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。