Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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