Question

Je voudrais correspondre et extraire les variables de: {{variable:int}}

  • variable serait quelque chose a-z
  • : est un séparateur
  • int serait un nombre entier 0-9

curretly j'ai: preg_replace('!\{\{(\S+)\}\}!', "$1", $string) qui ne fait que la moitié du travail, je dois encore diviser par :.

Merci!

Était-ce utile?

La solution

Si vous voulez extraire le nom / valeur, je pense que vous voulez utiliser preg_match.

preg_match('!\{\{(.*?):(\d)\}\}!', $string, $matches);  
$varname = $matches[1];  
$val = $matches[2];  

Autres conseils

Vous avez besoin d'un match non gourmand (.*?): preg_replace('!\{\{(.*?):(\d)\}\}!')

Utilisez

{{([a-zA-Z]+):(\d+)}}

$ 1 contiendra la variable capturée, 2 $ contiendra le nombre entier capturé

Explication

{{([a-zA-Z])+:(\d+)}}

[a-zA-Z] + signifie atleast un plus alphabets (petits ou bouchons)
suivi d'un « : »
suivie par atleast un ou plusieurs chiffres (0-9)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top