Ir para conteúdo
ignoredxyz

preg_replace

Recommended Posts

Algúem pode me dar uma ajuda?

 

Preciso fazer com que uma parte de uma strnig seja substituida por outra porem ela deve passar um atributo que contem nessa substring.

 

Por exemplo:

tenho

[galery id="1"]

Preciso substituir por outro texto, que e retornado de uma funcao, porém preciso passar o ID como parametro. Tenho:

$text = preg_replace('#(\[galery.*?\])#', getText($idAqui), $text);

Porém não sei como pegar este atributo ID, alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se o id for sempre numérico e não houver outras partes numéricas, basta remover tudo que não for numérico.

 

outro jeito simples, é usar substr() com strpos()...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se entendi, mas você pode fazer isso:

$resultado = preg_replace_callback('#\[galery id="([0-9]+)"\]#', function($match, $id) {
    $novo_id = pega_novo_id_do_banco($id);
    return "[galery id=\"$novo_id\"]";
}, $text);

Obs: Funções anonimas só estão disponíveis a partir do PHP 5.3

Editado por Anderson Danilo
  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.