Invertendo url com php

Uma das minhas linguagens preferidas de programação é justamente PHP. Gosto do poder, flexibilidade e possibilidades proporcionadas por esta linguagem. Mostrarei aqui como construir um inversor de links (url), ao final deste post o leitor verá que o processo de desenvolvimento e o código é bem simples, fácil de ser entendido e adaptado.

Em um primeiro momento será preciso criar a página index.php contendo simplesmente o formulário onde os dados serão inseridos:

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Frameset//EN” “http://www.w3.org/TR/html4/frameset.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”pt-br” lang=”pt-br”>
<!–
Autor: Fábio Jânio
Contato: fabiojanio@segurancadigital.info
Site: www.segurancadigital.info
Blog: www.fabiojanio.com
Licença: Está aplicação é totalmente livre de direitos autorais. Aproveite essa liberdade!
–>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>Segurança Digital – Inverter URL</title>
</head>
<body>
<div id=”quadro”>
<form method=”post” action=”<?php echo $_SERVER[‘PHP_SELF’]; ?>”>
<fieldset>
<legend>Inversor de URL</legend>
<label for=”url”>URL:</label>
<input type=”text” id=”url” name=”url” value=”” size=”60px” /><br />
<input type=”submit” value=”Inverter” name=”submit” />
</fieldset>
</form>
</div>
<p></p>
<?php include ‘tratar_url.php’; ?>
</body>
</html>

Acredito que o código acima não precisa ser explicado devido a utilização simples de tags HTML. Mas pontuarei dois trechos de código:

  • action=”<?php echo $_SERVER[‘PHP_SELF’]; ?>”: Este tem como objetivo redirecionar o usuário para a página atual quando o formulário for submetido. Caso o valor fosse action=”index.php”, o resultado séria o mesmo.
  • <?php include ‘tratar_url.php’; ?>: Este trecho de código tem como objetivo incluir no arquivo index.php o conteúdo/código de tratar_url.php, em outras palavras estamos chamando um arquivo de dentro da página index.php.

Agora vamos ao código PHP propriamente dito, o responsável pelo processo de inverter a url e criar o link (ligação clicável). O código abaixo é do arquivo tratar_url.php:

<?php
if (isset($_POST[‘submit’])) {
$url = trim($_POST[‘url’]);
verificar_valor($url);
}

function verificar_valor($url) {
if (!empty($url)) {
url_original($url);
url_invertida($url);
}
else {
echo “Digite uma URL antes de clicar no botão \”INVERTER\””;
}
}
function url_original($url) {
$string = substr(“$url”, 0, 7);
if ($string == “http://”) {
echo “<b>URL original:</b> <a href=” . $url . “>” . $url . “</a><br /><br />”;
}
else {
echo “<b>URL original:</b> ” . $url . “<br /><br />”;
}
}
function url_invertida($url) {
$invertida = strrev($url);
$string = substr(“$invertida”, 0, 7);
if ($string == “http://”) {
echo “<b>URL invertida:</b> <a href=” . $invertida . “>” . $invertida . “</a><br /><br />”;
}
else {
echo “<b>URL invertida:</b> ” . $invertida . “<br /><br />”;
}
}
?>

Merecedores de atenção:

  • if (isset($_POST[‘submit’])) {: Se o botão submit tiver sido “pressionado/submetido” retorna true (verdadeiro);
  • $url = trim($_POST[‘url’]); : Se if (isset($_POST[‘submit’])) { tiver retornado true então esta linha é executada. A função interna do PHP trim tem como objetivo remover espaços no inicio e fim da string;
  • if (!empty($url)) { : Retorna true se a variável $url tiver algum valor;
  • $string = substr(“$url”, 0, 7); : A variável $string armazena os 7 primeiros caracteres da variável $url. Isso é necessário pois uma verificação tenta encontrar http:// na localização indicada, caso não seja encontrado esta string não será considerada url clicável.