Ir para conteúdo
Fórum Script Brasil
  • 0

Substituição dentro de um delimitador


csk

Pergunta

Olá pessoal,

Preciso fazer substituição dentro de delimitadores dentro de vários arquivos .php.

Estava tentando fazer em bash com sed, mas sem muito sucesso. Me disseram para tentar usar Perl seria. Como eu não tenho muito conhecimento nesta linguam, estou quebrando a cabeça.

Eu quero substituir tudo dentro de um gettext que for "empresa" ou "Empresa" por <a href=\"http://www.empresa.com.br\">Empresa</a>. Ou seja, é importante que só substitua dentro do gettext.

Vou dar um exemplo pra vocês:

Lá no meio do arquivo tem uma linha:

<?=gettext("Nome da Empresa); ?>

Isto virar:

<?=gettext("Nome da <a href=\"http://www.empresa.com.br\">Empresa</a>"); ?>

Pode acontecer de uma linha ter mais de um gettext, pode ser que a linha teha empresa ou Empresa fora do gettext... Coisas do gênero.

O mais importante pra mim é sabe como fazer esta modificação dentro dos delimitadores gettext(" e ").

Alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Só para dar uma idéia de um script gambiarrento que fiz que funciona mais ou menos:

#!/usr/bin/perl

#use strict;
#use warnings;
open F, "$ARGV[0]" or die "Arquivo \"$ARGV[0]\" não encontrado";

while (<F>) {
        chomp;
        if ($_ =~ /.*gettext\(\".*[Ee]mpresa.*\"\)/) {
                ($pri, $seg, $ter) = split (/"/, $_, 3);
                $seg =~ s/[Ee]mpresa/<a href=\\\"http:\/\/www.empresa.com.br\\\">Empresa<\/a>/;
                print ("$pri\"$seg\"$ter ");
        }
        else { print ("$_\n"); }

}
close F;

Só que estou dando split com " o que não é o ideal.

Link para o comentário
Compartilhar em outros sites

  • 0
>Pode acontecer de uma linha ter mais de um gettext, pode ser que a linha teha empresa ou Empresa fora do gettext... Coisas do gênero.

Hmm, e como seria fora do gettext?

Já fiz funcionando pro gettext. Só não posso dar replace geral em "Empresa", senão vai substituir tudo. Preciso saber em quais casos vai ser substituído para modificar a regexp.

[]'s

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...