Fonctions spéciales annuairistes
8 messages
• Page 1 sur 1
Consultez la formation sur les stratégies de liens de WebRankInfo / Ranking Metrics
-

KOogar - WRInaute accro

- Messages: 3974
- Inscription: 16 Nov 2004
Fonctions spéciales annuairistes
Bonjour,
je voulais partager 2 fonctions spéciale annuaire, la premiere corrige la ponctuation d'une description et la seconde c'est une stipslashe spéciale url
voici ce que fait la correction de ponctuation:
- met un espace après un point, une points virgule... et une majuscule au mot qui suit le point
- met une espace après une virgule
- met une majucule au début du texte
- enleve les espaces en début et fin de chaine
Les +++
- n'affecte pas les 3 ou série de 2 points (...)
- n'affecte pas les smileys
- n'affecte pas les série de signes ?!?!?
- n'affecte pas les cotes simples et doubles ' et "
- n'affecte pas le HTML
- n'affecte pas les URLs (car la correction n'est pas lancé)
- n'affecte pas les adresses emails (car la correction n'est pas lancé)
- n'affecte pas les N° de tél : 01.04.01...
- n'affecte pas les nombres 0.10...
Le second code enleve les // dans les urls sans affecter les urls qui ont un protocole "http://" ou "http://s"
je voulais partager 2 fonctions spéciale annuaire, la premiere corrige la ponctuation d'une description et la seconde c'est une stipslashe spéciale url
voici ce que fait la correction de ponctuation:
- met un espace après un point, une points virgule... et une majuscule au mot qui suit le point
- met une espace après une virgule
- met une majucule au début du texte
- enleve les espaces en début et fin de chaine
Les +++
- n'affecte pas les 3 ou série de 2 points (...)
- n'affecte pas les smileys
- n'affecte pas les série de signes ?!?!?
- n'affecte pas les cotes simples et doubles ' et "
- n'affecte pas le HTML
- n'affecte pas les URLs (car la correction n'est pas lancé)
- n'affecte pas les adresses emails (car la correction n'est pas lancé)
- n'affecte pas les N° de tél : 01.04.01...
- n'affecte pas les nombres 0.10...
- Code: Tout sélectionner
<?php
function corrige_ponctuation($chaine) {
/*****************************************************************************/
/* initialisation */
/*****************************************************************************/
$signes = array(".","!","?",",",":",";");
$signes_connexe = array('"',")",">","'");
$i=0;
$taille_chaine = strlen( $chaine );
$masque_url = '#';
$masque_url .= '([http|ftp|https]+://';
$masque_url .= '[www\.]?';
$masque_url .= '[\.\-a-zA-Z0-9]*';
$masque_url .= '[a-zA-Z]{2,4}?';
$masque_url .= '[\?/\=\&\-_.a-zA-Z0-9]+?';
// si vous avez + de repertoires a analyser, ajouter + de lignes
// comme la ligne modele ci dessous :
$masque_url .= '[\?/\=\&\-_.a-zA-Z0-9]+?';
// fin ligne modele
$masque_url .= '[\?/\=\&\-_.a-zA-Z0-9]+)';
$masque_url .= '#i';
// FIN MASQUE
$masque_email = '#';
$masque_email .= "[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*";
$masque_email .= "@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})+";
$masque_email .= '#';
/*****************************************************************************/
/* Si 1 url ou 1 adresse email est dans le texte, la correction est arreter */
/*****************************************************************************/
if (!preg_match_all($masque_url,$chaine,$match_1) and
!preg_match_all($masque_email,$chaine,$match_2)
)
{
/*****************************************************************************/
/* debut de la correction */
/*****************************************************************************/
while ( $i < $taille_chaine )
{
// met la premiere lettre du texte en majuscule
if ($i==0) $chaine[$i] = strtoupper($chaine[$i]);
// capture la chaine deja analysée
$capture .= $chaine[$i];
/*****************************************************************************/
/* correction de la ponctuation */
/*****************************************************************************/
// si le caractere fait partie des signes
// si le caractere suivant n'est pas un espace
// si le caractere suivant n'est pas un numérique
// si le caractere précedent n'est pas un numérique
// si on n'est pas en fin de chaine
// n'affecte pas les 3 ou série de 2 points (...)
// n'affecte pas les smileys ;) ou :)
// n'affecte pas les série de signes ?!?!?
// n'affecte pas les guillemets simples et doubles ' et "
if( in_array($chaine[$i],$signes )
and $chaine[$i+1] != ' '
and !is_numeric( $chaine[$i+1] )
and !is_numeric( $chaine[$i-1] )
and ($chaine[$i+1] < $taille_chaine)
and ($chaine[$i+1] != '.')
and ($chaine[$i+1] != in_array($chaine[$i+1],$signes ))
and ($chaine[$i+1] != in_array($chaine[$i+1],$signes_connexe ))
)
{
$capture_trans = $capture.' ';
// insere le point + 1 espace
$chaine = str_replace( $capture, $capture_trans, $chaine );
// met la lettre en majuscule si on ne traite pas une virgule
if($chaine[$i] != ',')
$chaine[$i+2] = strtoupper($chaine[$i+2]);
}
/*****************************************************************************/
/* met une majuscule apres un signe */
/*****************************************************************************/
if (in_array($chaine[$i],$signes ) and ($chaine[$i+1] == ' ')
and ($chaine[$i] != ',') )
$chaine[$i+2] = strtoupper($chaine[$i+2]);
$i++;
}
return trim($chaine);
}
}
/*****************************************************************************/
/* test */
/*****************************************************************************/
// pour l'utiliser :
echo corrige_ponctuation($texte);
?>
Le second code enleve les // dans les urls sans affecter les urls qui ont un protocole "http://" ou "http://s"
- Code: Tout sélectionner
<?php
$url = 'http://www.site-exemple.com//rep1///rep2/';
function Strip_Slashes_Url($url) {
$masque = array( '///', '//');
$replace = array( '/', '/');
if (substr($url,0,7) == "http://")
$url = 'http://'.str_replace($masque,$replace,substr($url,7,strlen($url)));
elseif (substr($url,0,8) == "https://")
$url = 'https://'.str_replace($masque,$replace,substr($url,8,strlen($url)));
else $url = str_replace($masque,$replace,$url);
return $url;
}
// http://www.site-exemple.com/rep1/rep2/
echo Strip_Slashes_Url($url);
?>
-

laurentg25 - WRInaute discret

- Messages: 235
- Inscription: 22 Sep 2005
Re: Fonctions spéciales annuairistes
Merci de partager, +1 reco.
8 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation Netlinking (liens et référencement) : apprenez ce qu'est réellement un bon lien pour le référencement et surtout comment en obtenir. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Question aux annuairistes
- Appel aux annuairistes!
- CGU Adsense spéciales
- Techniques de référencement spéciales Yahoo
- pages spéciales pour google
- Partenariat pour annuairistes en manque de soumission
- supprimer des pages spéciales de l'index
- Faire des pages spéciales pour smartphones ..
- Petite réflexion sur les annuaires et annuairistes
- Question aux annuairistes : nom des inputs url, titre...
- Easter Egg dans Google Chrome (fonctions cachées) - 06-09-2008
- Suite de l'article sur le fichier .htaccess : l'URL rewriting - 16-01-2003
- Google affronte Microsoft avec le Google Desktop Search - 26-10-2004
- Google Desktop 2 en français - 13-10-2005
- Sortie des Google Groups 2 - 15-05-2004
- Deepfish - 29-03-2007
- Nouveautés sur les recherches de Google Images - 22-02-2009
- Lancement de Mozbot - 27-06-2005
Consultez la description détaillée des produits ou services de Google suivants : Google Calculator
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités






