[PHP] Expréssion regulière
Résolu/Fermé
coccoweb
Messages postés
141
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
17 février 2015
-
11 juil. 2010 à 17:52
coccoweb Messages postés 141 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 17 février 2015 - 12 juil. 2010 à 21:43
coccoweb Messages postés 141 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 17 février 2015 - 12 juil. 2010 à 21:43
A voir également:
- [PHP] Expréssion regulière
- Easy php - Télécharger - Divers Web & Internet
- Expression de recherche - Guide
- Tu es un amour expression ✓ - Forum Loisirs / Divertissements
- Expression encoder - Télécharger - Divers Utilitaires
- Quel fichier contient l’expression trouverpix ? - Forum Programmation
4 réponses
le_joker_fou
Messages postés
765
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
239
11 juil. 2010 à 18:17
11 juil. 2010 à 18:17
ode('-',$chiane) te renvoie un tableau avec comme valeur array(forum,aero,debutant,13)
coccoweb
Messages postés
141
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
17 février 2015
27
11 juil. 2010 à 18:24
11 juil. 2010 à 18:24
et pour récupérer forum seul et le numérique qui peut se prolonger comme suit 13-1-15879 ?
En réalité forum reste toujours un mot unique qui pourrai s'appeler topic ou encore article
aero-debutant est lui change constamment et le numérique lui peut prendre une ampleurs comme 13-1-15879
En réalité forum reste toujours un mot unique qui pourrai s'appeler topic ou encore article
aero-debutant est lui change constamment et le numérique lui peut prendre une ampleurs comme 13-1-15879
mkl37
Messages postés
8
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
19 juillet 2010
3
12 juil. 2010 à 08:24
12 juil. 2010 à 08:24
Pour récupérér le "forum" ou "topic" ou autre, du moment qu'il appart en premier dans ta chaîne de caractères, alors tu peux le récupérer facilement car il est contenu dans $chaine[0] c'est à dire dans le premier enregistrement du tableau retourné par la fonction explode('-', $chaine).
Pour le numérique tu peux toujours faire une recherche avec la fonction is_numeric sur chacune des entrées du tableau $chaine
Cordialement,
Pour le numérique tu peux toujours faire une recherche avec la fonction is_numeric sur chacune des entrées du tableau $chaine
Cordialement,
coccoweb
Messages postés
141
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
17 février 2015
27
12 juil. 2010 à 21:43
12 juil. 2010 à 21:43
Voilà bas un grand merci a tout ceux qui mon aidé
Juste parce que je suis reglo et que la fonction créé est utile a tous la voila :
Cette fonction génère la description de chaque page.
Voilà une bonne prise de tête et les résultats.
Encore merci.
Juste parce que je suis reglo et que la fonction créé est utile a tous la voila :
Cette fonction génère la description de chaque page.
<?php // exploser la chaine et un tableau (array) function exploserChaine( $chaine ) { /* Explose une chaîne de caractère suivant pour en faire un tableau de mots clés */ $to = '-'; $from = ' '; $chaine = strtr( $chaine, $to, $from ); // On remplace les caractères $to par des espaces $tabTemp = explode( ' ', $chaine ); // On explose la chaîne dans un tableau temporaire suivant le délimiteur espace foreach( $tabTemp as $k => $v ) { if( $v != NULL ) // Pour éviter d'avoir des entrées vides { if( preg_match( '#(.*){1}(\')#', $v, $matches ) ) // On cherche un caractère suivi d'une apostrophe ( pour les mots du genre : d'autres ) { $v = substr( $v, 2 ); // Si trouvé on élimine le caractère et l'apostrophe } $tabChaine[] = $v; // On ajoute le mot au tableau final } } return $tabChaine; } function meta_description($chaine) { // ici on nettoie pour récupérer se qui nous intéresse. $chaine=str_replace('http:','', $_SERVER['REQUEST_URI']); $chaine=str_replace($_SERVER['HTTP_HOST'],'', $chaine); $chaine=str_replace('/','', $chaine); $chaine=str_replace('.htm','', $chaine); /* A partir d'ici il reste forum-aero-debutant-13 On explose la chaine histoire de tout mettre dans un tableau */ $chaine=exploserChaine($chaine); // Cette partie va créé un autre tableau uniquement numérique $c=0; foreach ($chaine as $element) { if (is_numeric($element)) { $id_post[$c]=$element; $c++; } } // Cette partie concerne le site switch($chaine[0]) { // La page fais partie du forum case "forum": if (isSet($id_post)) { // Si $id_post existe c'est que la page contient une valeur numérique $req = mysql_query("SELECT forum_name, forum_desc FROM 'OS_forum_forum' WHERE 'forum_id' =".$id_post[0]." LIMIT 0 , 1"); $data=mysql_fetch_assoc($req); // Cette astuce si permet de supprimer le BBcode appelé chez moi xCode $desc = preg_replace('#\[(.*)\](.*)\[(.*)\]#U', '$2', $data['forum_desc']); // Maintenant il est utile de supprimer les espaces inutile. $chaine = trim("Forum : ".$data['forum_name']." ".$desc); // La description meta contient max. 200 caractères. On coupe se qui depasse if (strlen($chaine) > 200) { $chaine = substr($chaine, 0, 200); $last_space = strrpos($chaine, " "); $chaine = substr($chaine, 0, $last_space)."..."; } return $chaine; } else { // Si id_post n'existe pas, c'est que nous somme dans l'index du forum return "Forum dédié à l'aeromodelimse, l'entraide d'utilisateur d'hélicopter radio commandé (RC)."; } break; case "topic": // Idem pour les topics, grace aux jointure mySQL $req = mysql_query("SELECT 'topic_titre' , 'post_texte' FROM 'OS_forum_topic' LEFT JOIN 'OS_forum_post' ON 'OS_forum_post'.'post_id' = 'OS_forum_topic'.'topic_first_post' WHERE 'OS_forum_topic'.'topic_id' =".$id_post[0]." LIMIT 0 , 1"); $data = mysql_fetch_assoc($req); $post = preg_replace('#\[(.*)\](.*)\[(.*)\]#U', '$2', $data['post_texte']); $chaine = trim("Portail : ".$data['topic_titre']." ".trim($post)); if (strlen($chaine) > 200) { $chaine = substr($chaine, 0, 200); $last_space = strrpos($chaine, " "); $chaine = substr($chaine, 0, $last_space)."..."; } return $chaine; break; /* C'est super tout ca, mais les pages statiques ? Et bien on les identifie par la valeur du tableau */ case "inscription": return "Page d'inscription au Club d'aéromodélisme de Charleroi, région Dampremy. Entraide des modélistes. Participer au forum et discuter avec d'autres amateurs et profésionnels."; break; case "connection": return "Page de connection au Club d'aéromodélisme de Charleroi, région Dampremy. Connectez-vous au monde du modélisme."; break; case "a_propos_de_RC_Charleroi_Dampremy_aero_modelisme": return "A propos du Club d'aéromodélisme de Charleroi, région Dampremy. Tout se qu'il est bon de savoir sur nos motivations. Sortez donc de chez vous et venez nous rejoindre."; break; /* En cas d'oublie, la roue de secours est aussi utile et hop une entre par defaut */ default: return "Club d'aéromodélisme de Charleroi, région Dampremy. Libre d'accès pour tous. Possibilité de vol intérieurs, organisation privé"; break; } } ?>
Voilà une bonne prise de tête et les résultats.
Encore merci.