本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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('&', '&', $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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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);
}
}
}
}
示例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);
//.........这里部分代码省略.........
示例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;
}
示例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;
}