Pergunta

Eu gostaria de combinar e extrair variáveis ??de: {{variable:int}}

  • variável seria nada a-z
  • : é um separador
  • int seria um inteiro 0-9

curretly eu tenho: preg_replace('!\{\{(\S+)\}\}!', "$1", $string) que só faz metade do trabalho, eu ainda tenho que dividir por :.

Obrigado!

Foi útil?

Solução

Se você quer extrair o nome / valor, eu acho que você quer usar preg_match.

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

Outras dicas

Você precisa de um jogo não ganancioso (.*?): preg_replace('!\{\{(.*?):(\d)\}\}!')

Use

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

$ 1 irá conter a variável capturado, US $ 2 conterá o inteiro capturado

Explicação

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

[a-zA-Z] + meios atleast mais um alfabetos (pequenos ou bonés)
seguido por um ":"
seguido por pelo menos um ou mais dígitos (0-9)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top