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 :

Regexp pour déterminer le type de navigateur [RegEx]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Graphiste
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Pays-Bas

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Regexp pour déterminer le type de navigateur
    Bonjour à tous !

    Voilà j'ai était obligé de passer en PHP5 pour mettre du xml à jour avec du php en utilisant le DOM.

    Mais depuis j'ai un problème avec un script PHP servant à rediriger le visiteur selon s'il utilise un "Smartphone" ou un ordinateur (le script ne redirige plus lorsque l'on y va avec un ordi ).

    Voilà le script utilisé (qui fonctionne très bien en PHP4 !) :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
     
    if(checkmobile())
             header('Location:http://www.eternal-graphic.com/mobile/m_detect_lang.php');
     
    function checkmobile()
    {
            if (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE']))
                    return true;
     
            if (isset ($_SERVER['HTTP_ACCEPT']))
            {
                    $accept = strtolower($_SERVER['HTTP_ACCEPT']);
                    if (strpos($accept, 'wap') !== false)
                            return true;
            }
     
            if (isset ($_SERVER['HTTP_USER_AGENT']))
            {
                    if (strpos ($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false)
                            return true;
     
                    if (strpos ($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false)
                            return true;
     
                    if (preg_match('#Android|BlackBerry|Cellphone|iPhone|iPod|hiptop|HTC|MIDP-2\.|MMEF20|MOT-V|NetFront|Newt|Nintendo Wii|Nintendo DS|Nitro|Nokia|Opera Mobi|Palm|PlayStation Portable|PSP|portalmmm|SonyEricsson|Symbian|UP.Browser|UP.Link|webOS|Windows CE|WinWAP|YahooSeeker/M1A1-R2D2|LGE VX|Maemo|phone)#', $_SERVER['HTTP_USER_AGENT']))
                            return true;
            }
     
            header('Location: http://www.eternal-graphic.com/computer ... _lang.php');
    }
    ?>





    Voilà le msg sur la page :

    Warning: preg_match() [function.preg-match]: Compilation failed: unmatched parentheses at offset 280 in /homepages/39/d299682238/htdocs/eternal-graphic/index.php on line 26

    Warning: Cannot modify header information - headers already sent by (output started at /homepages/39/d299682238/htdocs/eternal-graphic/index.php:26) in /homepages/39/d299682238/htdocs/eternal-graphic/index.php on line 30
    ...pour voir de vous même : http://www.eternal-graphic.com

    Un grand merci d'avance à ceux qui pourront m'aider !

    ...

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    T'as oublié une parenthèse au début de ta regexp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #(Android|BlackBerry|Cellphone|iPhone|iPod|hiptop|HTC|MIDP-2\.|MMEF20|MOT-V|NetFront|Newt|Nintendo Wii|Nintendo DS|Nitro|Nokia|Opera Mobi|Palm|PlayStation Portable|PSP|portalmmm|SonyEricsson|Symbian|UP.Browser|UP.Link|webOS|Windows CE|WinWAP|YahooSeeker/M1A1-R2D2|LGE VX|Maemo|phone)#


    Au passage, pour déterminer le browser de l'utilisateur, c'est avec get_browser

  3. #3
    Candidat au Club
    Homme Profil pro
    Graphiste
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Pays-Bas

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Je suis vraiment étourdie....

    Mais c'est vrai que je ne comprend comment ça fonctionné en PHP4 ???

    En tout cas MERCI, ça marche très bien maintenant.

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Il devait au moins y avoir un warning; c'est tout.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/05/2015, 14h38
  2. regexp shell pour trouver certains types de if
    Par ManusDei dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 30/07/2012, 09h10
  3. Regexp pour parser un fichier de type hosts
    Par witch dans le forum Langage
    Réponses: 6
    Dernier message: 21/05/2011, 22h58
  4. Réponses: 0
    Dernier message: 19/01/2010, 19h01
  5. Type pour données de type email avec @
    Par jeff37 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/01/2004, 14h50

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