Jump to content

PREG para obter código Javascript


ze_to
 Share

Recommended Posts

Olá pessoal!

Preciso de ajuda e agradeço desde já a leitura do post.

O que eu precisava era usando o preg_match_all obter os scripts que usam determinadas funções.

Exemplo:

<script type="text/javascript">

eval("x=10;y=20;document.write(x*y)");
document.write("<br />" + eval("2+2"));
document.write("<br />" + eval(x+17));

</script>

<script type="text/javascript">
function displaymessage()
{
alert("Hello World!");
}
</script>

Usando preg_match_all() para encontrar o script que use a função eval() retornar o seguinte:

<script type="text/javascript">

eval("x=10;y=20;document.write(x*y)");
document.write("<br />" + eval("2+2"));
document.write("<br />" + eval(x+17));

</script>

Obrigado por qualquer esclarecimento!

Link to comment
Share on other sites

Isto deu trabalho (foi divertido). Verifica se isto responde ao regex que queres?

'%<script type="text/javascript">(?![^<]*</script>).*?(?:eval).*?</script>%s'

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Link to comment
Share on other sites

Ou possivelmente so uma simples procura pela pela palavra eval

Mas aí teria de verificar se a palavra não estava só, por exemplo, dentro de uma string. Tinha de verificar se era mesmo uma função. 😉

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.