Url ReInverter, Url Inverter, Inversor de URL, Inversor de Links e Frases

A um bom tempo venho querendo escrever este mini-tutorial.
Vejo por aà muitos “sites de downloads” diversos, que oferecem uma mirÃade de filmes, músicas, softwares e outros gadgets (muitos deles sendo resultado de produtos piratas, infelizmente).
Â
Até aÃ, acho que cada um sabe e se responsabiliza pelo conteúdo que disponibiliza publicamente e online. Não sou a favor da pirataria, muito menos aos preços absurdos e abusivos de grandes players de mercado, mas isso é papo pra outra hora.
Â
Enfim, o que mais me incomoda e me deixa com muita raiva deste tipo de site (que de cara entra na minha black list) nestes casos, e acredito que a grande maioria idem, são os links “escondidos”, do tipo:
Â
http://linkprotegido.info/link/?url=http://yess.me/ir/id/aHR0cDovL2xpbmtwcm90ZWdpZG8uaW5mby8ycy9JRC9lODhkZWI=/ http://www.downcelular.com/link/?
url=lmth.rar.onurB.yB.DivX.piRDVD.naM.norI.adnegeL/83030ef/74052866/ld/moc.eliftoh//:ptth
Â
Estes redirecionamentos forçados e contra a sua vontade te levam para lugares nada seguros e com conteúdo pouco apropriado e que em muitos casos podem conter códigos maliciosos.
Â
Por conta deste inconveniente sem tamanho, vou ensinar duas formas (php e javascript) de criar o chamado Inversor de Url ou Url Inverter/Reinverter que pode ser facilmente colocado em seu blog (via widget) ou site.
Â
O primeiro código usa uma função nativa do php chamada strrev(). A sintaxe desta função é a seguinte:
strrev($string) Parâmetros: a $string invertida.
Neste caso, usamos o seguinte snippet de código para gerar o que queremos:
<?php
echo strrev("Hello world!"); // mostra "!dlrow olleH"
?>
Exemplo completo em PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inversor de Links</title>
</head>
<body>
<script type="text/javascript">
function validaCampo() {
var d = document;
if(d.getElementById('url_ori').value == '') {
alert('Informe o texto/url que quer inverter!');
d.getElementById('url_ori').focus;
return false;
}
}
</script>
<form id="urlinverter" name="urlinverter" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<fieldset style="width:290px;">
<legend>Origem: </legend>
<textarea name="url_ori" cols="30" rows="4" id="url_ori" /></textarea><br />
<input type="submit" name="bt_inverter" value="Inverter" onclick="return validaCampo()" />
</fieldset>
</form>
<br />
<br />
<fieldset style="width:290px;">
<legend>Resultado</legend>
<form id="url_container" name="url_container" action="#">
<textarea name="url_inv" cols="30" rows="4" id="url_inv" /><?php if(isset($_POST["url_ori"]) and $_POST["url_ori"] <> "") { echo strrev($_POST["url_ori"]); } ?></textarea>
</form>
</fieldset>
<div><small>copie e cole o texto acima e cole na barra de endereços do seu navegador</small></div>
</body>
</html>
Já no caso do JavaScript, temos duas formas de codificação bem simples, baseada na propriedade prototype:
Â
Propriedade prototype
Permite adicionar propriedades e métodos ao objeto String.
Sintaxe:
String.prototype.nome = valor
Onde nome é o nome da nova propriedade ou método e valor é o valor da propriedade ou o nome de uma função. É importante observar que, ao usar esta propriedade, todos as strings de seu código passarão a fornecer a nova funcionalidade.
Â
Exemplo 1 – Como adicionar um método reverse ao objeto String:
<script type="text/javascript">
function reverter() {
var str = this;
var res = "";
for(var i = (str.length - 1); i >= 0; i--)
res += str.substr(i, 1);
return res;
}
String.prototype.reverse = reverter;
var frase = "Observe esta frase";
document.write("Original: " + frase + "<br />");
document.write("Invertida: " + frase.reverse());
</script>
Exemplo 2 – Como adicionar um método reverse ao objeto String:
<script language="javascript">
String.prototype.reverse = function(){
splitext = this.split("");
revertext = splitext.reverse();
reversed = revertext.join("");
return reversed;
}
x = new String('Observe esta frase');
document.write(x.reverse());
</script>
A execução destes códigos produzirá o seguinte resultado:
Original: Observe esta frase
Invertida: esarf atse evresbO
Aqui vai o exemplo completo em JavaScript:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inversor de Links</title>
</head>
<body>
<script type="text/javascript">
function reverter() {
var str = this;
var res = "";
for(var i = (str.length - 1); i >= 0; i--)
res += str.substr(i, 1);
return res;
}
function inverter(str) {
var d = document;
if(d.getElementById('url_ori').value == '') {
alert('Informe o texto/url que quer inverter!');
d.getElementById('url_ori').focus;
return false;
} else {
String.prototype.reverse = reverter;
var str_inverter = str;
document.getElementById('url_inv').value = str_inverter.reverse();
return true;
}
}
</script>
<form id="urlinverter" name="urlinverter" method="post" action="#">
<fieldset style="width:290px;">
<legend>Origem: </legend>
<textarea name="url_ori" cols="30" rows="4" id="url_ori" /></textarea>
<input type="button" name="bt_inverter" value="Inverter" onclick="return inverter(document.getElementById('url_ori').value)" />
</fieldset>
</form>
<fieldset style="width:290px;">
<legend>Resultado</legend>
<form id="url_container" name="url_container" action="#">
<textarea name="url_inv" cols="30" rows="4" id="url_inv" /></textarea>
</form>
<div><small>copie e cole o texto acima na barra de endereços do seu navegador</small></div>
</fieldset>
</body>
</html>
Para ver o script acima em ação, basta olhar nossa Sidebar!
Espero que tenham gostado. Até a próxima!
| Imprimir artigo | Este artigo foi escrito por Marcus Vinicius P. Coimbra em 30 de novembro de 2010 às 11:26, e está arquivado em JavaScript, Papo de Buteco, PHP, Programação, Tecnologia, Tutoriais. Siga quaisquer respostas a este artigo através do RSS 2.0. Tanto comentários quanto pings estão encerrados no momento. |
Os comentários estão encerrados.






há 1 ano atrás
Olá companheiro. Gostei muito da postagem e gostaria de saber se você me permite disponibilizar em uma postagem minha esse inversor de string. Não o código, mas sim o inversor propriamente dito. É claro que deixarei a referência de quem desenvolveu o código. Eu também tenho duas publicações falando como burlar protetores de links. Essa seria um bom complemento. Abraços e parabéns pela excelente postagem.
Nilton de Oliveira Lomeu Junior
Técnico em Informática
há 1 ano atrás
Olá Lomeu,
Não vejo problema algum, pode usar sem problemas, inclusive o código.
O intuito do post é justamente esse, divulgar informação e prestar serviço a quem necessita.
Obrigado pela visita.
[]s
Vinny