IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Remplacer le host d'une URL [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Points : 121
    Points
    121
    Par défaut Remplacer le host d'une URL
    Bonjour,

    Je cherche à remplacer le nom de domain d'une URL si celle-ci ne correspond pas à un pattern, exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $pattern = '#((?!maison)|(?<!maison))(?:\http(s)?://(www\.)?)?([-a-z0-9]+)\.[a-z]{2,6}$#i';
    $str =  preg_replace($pattern, 'google', $str);
    Remplacer par "google.com" si ne correspondants pas a "maison.com" sans modifier la syntaxe de URL.



    Je n'arrive pas à couvrir l'ensemble des syntaxes (sous-domaine, répertoire, IP, etc.), protocole (http, https, ftp, etc.), DNS (.fr, .com, .info, org.au, etc.) ...

    J'ai fait un petit bout de code pour tester le pattern:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function mask($str) {
    	$pattern = '#((?!maison)|(?<!maison))(?:\http(s)?://(www\.)?)?([-a-z0-9]+)\.[a-z]{2,6}$#i';
    	$str =  preg_replace($pattern, 'google', $str);
    	return $str;
    }
     
    $string = "domain.fr http://subdomain.maison.com domain.com domain.info domain.org.au www.domain.fr www.domain.com www.domain.info. www.domain.org.au http://domain.fr http://domain.com http://domain.info http://domain.org.au http://www.domain.fr http://www.domain.com http://www.domain.info http://www.domain.org.au subdomain.domain.fr subdomain.domain.com subdomain.domain.info subdomain.domain.org.au www.subdomain.domain.fr www.subdomain.domain.com www.subdomain.domain.info www.subdomain.domain.org.au http://subdomain.domain.fr http://subdomain.domain.com http://subdomain.domain.info http://subdomain.domain.org.au/folder/ http://subdomain.domain.org.au/folder/subfolder/ http://subdomain.domain.org.au http://www.subdomain.domain.fr http://www.subdomain.domain.fr/folder/ http://www.subdomain.domain.com http://www.subdomain.domain.info http://www.subdomain.domain.org.au ";
    $arr = explode(' ', $string);
     
    echo '<table><caption>Remplacer par &laquo; google.com &raquo; les noms de domaines ne correspondants pas a &laquo; maison.com &raquo; sans modifier la syntaxe des URLs</caption><thead><tr><th>Old</th><th>New</th></thead>';
    foreach($arr as $value) {
    	echo '<td>'.$value.'</td><td>'.mask($value)."</td></tr>";
    }
    echo '</table>';
    Merci d'avance pour votre aide.

    Cordialement
    La vitesse de la lumière étant supérieure à celle du son, beaucoup de gens sont brillants jusqu'à ce qu'ils ouvrent leur bouche.

  2. #2
    Membre régulier Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Points : 121
    Points
    121
    Par défaut Résolu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '#(?![maison])([-a-z0-9]{2,63}\.(com|net|org|fr|info|be|biz|pro|asso))#i'
    Résolu
    La vitesse de la lumière étant supérieure à celle du son, beaucoup de gens sont brillants jusqu'à ce qu'ils ouvrent leur bouche.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplacer un mot dans une URL prédéfinie
    Par orikalch dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/01/2012, 15h51
  2. Remplacer un pattern par une url
    Par pixelboy dans le forum Linux
    Réponses: 4
    Dernier message: 14/08/2011, 12h03
  3. [RegEx] remplacement d'une chaine à la fin d'une URL
    Par ozzeo dans le forum Langage
    Réponses: 1
    Dernier message: 13/05/2009, 15h34
  4. [RegEx] Règle de remplacement d'une URL
    Par Emotion dans le forum Langage
    Réponses: 4
    Dernier message: 18/09/2007, 14h42
  5. Remplacer les espaces d'une URL par un tiret
    Par Tee shot dans le forum Langage
    Réponses: 2
    Dernier message: 29/03/2007, 00h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo