Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Oi tudo bem? Precisava de uma ajuda em expressões regulares, não é o meu forte.
Eu basicamente tenho numa string um tag assim -> [34]
Basicamente quero usar essa tag para pegar o seu numero que é o id e depois fazer a query para pegar a informação relativa a ele.
Sei que tenho que usar um padrão para descobrir ele no string e depois pegar os numeros dentro do brackets e a seguinte fazer a substituição que no meu caso vai ser por uma função.
Alguem pode-me ajudar?
Obrigado Beraldo, mas so mais uma pergunta, eu criei um foreach loop
foreach ($matches as $i => $row)
{
echo $row[$i] ."<br>";
}
E o resultad é
[45]
76
O problema é que o 45 tem o brackets e não quero que tenha, porque ele está assim e como remover o brackets?
>
If matches is provided, then it is filled with the results of search. $matches[0] will contain the text that matched the full pattern, $matches[1] will have the text that matched the first captured parenthesized subpattern, and so on.
fonte: http://php.net/preg_match
Ou seja, somente o índice 1 lhe interessa. O índice 0 terá sempre os colchetes, pois é o valor que casou com a ER
Por isso use $matches[1] no foreach
foreach ($matches[1] as $i => $row)
// ...
Com preg_match (ou preg_match_all, se houver mais de uma ocorrência na string), você pega os números
exemplo:
Array (