CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

php - regexp

TheMoskito
TheMoskito
Niveau 8
29 juin 2009 à 17:48:07

Bonjour,
un prblème avec mon code en php sur une simple regexp.... Je ne comprends pas pourquoi ca ne marche pas :(

if ( preg_match("[0-9]{4}",$year,$match) ) {
$year=$match[1];
mysql_query("INSERT INTO table ('',$year,'$place')");

J'aimerai une expression régulière pour récupérer une année (du style 2004)? sauf que ma condition est jamais vraie quand je rentre une date....
Ou je me suis trompé :doute:

merci

godrik
godrik
Niveau 30
29 juin 2009 à 18:39:55

preg_replace ecrit dans la premiere pas pas la deuxieme (en tout cas c'est ce que j'ai compris de la doc). c'est donc $match[0] et pas $match[1].

godrik
godrik
Niveau 30
29 juin 2009 à 18:40:28
  • dans la premiere case et pas dans la deuxieme*
deepblue
deepblue
Niveau 16
30 juin 2009 à 09:48:05

Utilises ereg si tu veux garder tes match comme ça.

TheMoskito
TheMoskito
Niveau 8
30 juin 2009 à 10:42:17

exact pour le $mathc[0];

Sauf que le problème ne venait pas de là car il ne rentrait jamais dans la condition. En fait il manquait tout simplement les parenthèses capturantes.

merci

TheMoskito
TheMoskito
Niveau 8
01 juillet 2009 à 14:03:24

re-bonjour,
nouvelle question avec preg_match.....
A chaque fois j'ai ce warning quand j'utilise le caractère " ^ " pour marquer le début d'un mot.... : "Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in /home/div/dev/cern/csc2009/admin/define.php on line 21"

exemple : preg_match("^(http:\/\/)",$_REQUEST['newlink'])

Vous auriez une solution pour ca ?

:merci:

deepblue
deepblue
Niveau 16
01 juillet 2009 à 14:17:28

preg_match("`^(http:\/\/)`",$_REQUEST['newlink'])

Avec preg_match (et quelques autre fonctions dy type, tu dois délimiter ta regex pour placer ensuite des paramètres optionnels :
'#ma regex#paramètres' -> ici, mon délimiteur est "#" alors que dans "`^(http:\/\/)`", le délimiteur est "`".

preg_match_all('`<a *href="[^"]+"[^>]*>`iU', $string, $href);
iU -> options pour ma regex : i = insensible à la casse, U = s'arrêter et capturer à chaque occurrence qui vérifie la regex.

TheMoskito
TheMoskito
Niveau 8
02 juillet 2009 à 18:34:38

ahah, il faudra que j'essaye donc.

:merci:

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment