Ândres Postado Junho 6, 2007 Denunciar Share Postado Junho 6, 2007 Olá, galeraTo precisando de uma ajuda para colocar um link em uma noticiaveja como esta no link: http://www.netcenterdesign.com.br/not/noticia.php?id=7onde está www.linkparaumsite.com.br, gostaria de transforma-lo em um link clicavelveja o codigo da noticia:<?php include "conmysql.php"; $id = $_GET['id']; $consulta = "SELECT * FROM noticias WHERE id=$id'"; $fazer_consulta = mysql_query($consulta); while ($dados_consulta = mysql_fetch_array($fazer_consulta)) { $titulo = $dados_consulta['titulo]; $texto = $dados_consulta ['texto']; $cidade = $dados_consulta ['cidade']; $data = $dados_consulta ['data']; $link = $dados_consulta ['link']; echo "<font size=5><b>$titulo</b></font><br>"; echo "<font size=3>$texto</font><br>"; echo "<font size=3>$cidade</font><br>"; echo "<font size=3>$data</font><br>"; echo "<font size=2>$link</font><br><br><br>"; } echo "<a href=index.php><font size=2>Voltar</font></a>"; ?>Agradeço por uma ajuda Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 6, 2007 Denunciar Share Postado Junho 6, 2007 http://scriptbrasil.com.br/forum/index.php?showtopic=96213Só que precia que a url tem o http:// na frente do www Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ândres Postado Junho 6, 2007 Autor Denunciar Share Postado Junho 6, 2007 Coloquei a url que me passou, mas continua igual veja:http://www.netcenterdesign.com.br/not/noticia.php?id=7Obrigado pela dicaAguardo novas sugestoesObrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 6, 2007 Denunciar Share Postado Junho 6, 2007 Você está chamando a função com a variável? Por exemplo:echo MontarLink ($link);Ps.: Abaixo tem outra versão da função que transforma textos que tem apenas www em link... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ândres Postado Junho 6, 2007 Autor Denunciar Share Postado Junho 6, 2007 Sou iniciante e ainda estou meio confuso ESerra.Onde devo colocar o que me passou?veja o meu codigo:<?php include "conmysql.php"; $id = $_GET['id']; $consulta = "SELECT * FROM noticias WHERE id='$id'"; $fazer_consulta = mysql_query($consulta); while ($dados_consulta = mysql_fetch_array($fazer_consulta)) { $titulo = $dados_consulta['titulo']; $texto = $dados_consulta ['texto']; $cidade = $dados_consulta ['cidade']; $data = $dados_consulta ['data']; $link = $dados_consulta ['link']; echo "<font size=5><b>$titulo</b></font><br>"; echo "<font size=3>$texto</font><br>"; echo "<font size=3>$cidade</font><br>"; echo "<font size=3>$data</font><br>"; echo "<font size=2>$link</font><br><br><br>"; } echo "<a href=index.php><font size=2>Voltar</font></a>"; ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 6, 2007 Denunciar Share Postado Junho 6, 2007 <?php ############################################# # # # Autor: Roberto Beraldo Chaiben (Beraldo) # # E-Mail: rbchaiben[arroba]gmail.com # # # ############################################# /* string MontarLink (string texto) A função MontarLink() transforma em links as URLs iniciadas por 'http://' ou 'www' contidas no argumento 'texto'. Se a URL tiver mais que 60 caracteres, serão exibidos os 25 primeiros, seguidos de reticências (...) e os últimos 15. Se 'texto' não for uma string, a função retorna 'texto' sem quaisquer alterações. */ function MontarLink ($texto) { if (!is_string ($texto)) return $texto; $er = "/(http:\/\/(www\.|.*?\/)?|www\.)([a-zA-Z0-9]+|_|-)+(\.(([0-9a-zA-Z]|-|_|\/|\?|=|&)+))+/i"; preg_match_all ($er, $texto, $match); foreach ($match[0] as $link) { //coloca o 'http://' caso o link não o possua $link_completo = (stristr($link, "http://") === false) ? "http://" . $link : $link; $link_len = strlen ($link); //troca "&" por "&", tornando o link válido pela W3C $web_link = str_replace ("&", "&", $link_completo); $texto = str_ireplace ($link, "<a href=\"" . strtolower($web_link) . "\" target=\"_blank\">". (($link_len > 60) ? substr ($web_link, 0, 25). "...". substr ($web_link, -15) : $web_link) ."</a>", $texto); } return $texto; } include "conmysql.php"; $id = $_GET['id']; $consulta = "SELECT * FROM noticias WHERE id='$id'"; $fazer_consulta = mysql_query($consulta); while ($dados_consulta = mysql_fetch_array($fazer_consulta)) { $titulo = $dados_consulta['titulo']; $texto = $dados_consulta ['texto']; $cidade = $dados_consulta ['cidade']; $data = $dados_consulta ['data']; $link = $dados_consulta ['link']; echo "<font size=5><b>$titulo</b></font><br>"; echo "<font size=3>$texto</font><br>"; echo "<font size=3>$cidade</font><br>"; echo "<font size=3>$data</font><br>"; echo "<font size=2>".MontarLink ($link)."</font><br><br><br>"; } echo "<a href=index.php><font size=2>Voltar</font></a>"; ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ândres Postado Junho 6, 2007 Autor Denunciar Share Postado Junho 6, 2007 Alterei, mas veja o erro:Titulo da NotíciaAqui vem o texto da Noticiacidade12/05/2007Fatal error: Call to undefined function: montarlink() in c:\windows\serv-n\www\not2\noticia.php on line 21Veja como ficou meu codigo:<?php include "conmysql.php"; $id = $_GET['id']; $consulta = "SELECT * FROM noticias WHERE id=$id'"; $fazer_consulta = mysql_query($consulta); while ($dados_consulta = mysql_fetch_array($fazer_consulta)) { $titulo = $dados_consulta['titulo]; $texto = $dados_consulta ['texto']; $cidade = $dados_consulta ['cidade']; $data = $dados_consulta ['data']; $link = $dados_consulta ['link']; echo "<font size=5><b>$titulo</b></font><br>"; echo "<font size=3>$texto</font><br>"; echo "<font size=3>$cidade</font><br>"; echo "<font size=3>$data</font><br>"; echo "<font size=2>".MontarLink ($link)."</font><br><br><br>"; } echo "<a href=index.php><font size=2>Voltar</font></a>"; ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 6, 2007 Denunciar Share Postado Junho 6, 2007 Você tem que copiar o código inteiro que eu passei! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ândres Postado Junho 6, 2007 Autor Denunciar Share Postado Junho 6, 2007 Continua com erro =/, e não mostra em qual linha que está o errocopiei todo o codigo veja:<?phpfunction MontarLink ($texto){ if (!is_string ($texto)) return $texto; $er = "/(http:\/\/(www\.|.*?\/)?|www\.)([a-zA-Z0-9]+|_|-)+(\.(([0-9a-zA-Z]|-|_|\/|\?|=|&)+))+/i"; preg_match_all ($er, $texto, $match); foreach ($match[0] as $link) { //coloca o 'http://' caso o link não o possua $link_completo = (stristr($link, "http://") === false) ? "http://" . $link : $link; $link_len = strlen ($link); //troca "&" por "&", tornando o link válido pela W3C $web_link = str_replace ("&", "&", $link_completo); $texto = str_ireplace ($link, "<a href=\"" . strtolower($web_link) . "\" target=\"_blank\">". (($link_len > 60) ? substr ($web_link, 0, 25). "...". substr ($web_link, -15) : $web_link) ."</a>", $texto); } return $texto; include "conmysql.php"; $id = $_GET['id']; $consulta = "SELECT * FROM noticias WHERE id=$id'"; $fazer_consulta = mysql_query($consulta); while ($dados_consulta = mysql_fetch_array($fazer_consulta)) { $titulo = $dados_consulta['titulo]; $texto = $dados_consulta ['texto']; $cidade = $dados_consulta ['cidade']; $data = $dados_consulta ['data']; $link = $dados_consulta ['link']; echo "<font size=5><b>$titulo</b></font><br>"; echo "<font size=3>$texto</font><br>"; echo "<font size=3>$cidade</font><br>"; echo "<font size=3>$data</font><br>"; echo "<font size=2>".MontarLink ($link)."</font><br><br><br>"; } echo "<a href=index.php><font size=2>Voltar</font></a>"; ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 6, 2007 Denunciar Share Postado Junho 6, 2007 Você esqueceu do } depois de return $texto;Confira o original com o seu... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ândres Postado Junho 6, 2007 Autor Denunciar Share Postado Junho 6, 2007 ESerra, realmente esqueci, mas veja, esta dando erro agora na linha 21 e não encontro o erro, veja: $texto = str_ireplace ($link, "<a href=\"" . strtolower($web_link) . "\" target=\"_blank\">". (($link_len > 60) ? substr ($web_link, 0, 25). "...". substr ($web_link, -15) : $web_link) ."</a>", $texto); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 6, 2007 Denunciar Share Postado Junho 6, 2007 Eu testei:<?php function MontarLink ($texto) { if (!is_string ($texto)) return $texto; $er = "/(http:\/\/(www\.|.*?\/)?|www\.)([a-zA-Z0-9]+|_|-)+(\.(([0-9a-zA-Z]|-|_|\/|\?|=|&)+))+/i"; preg_match_all ($er, $texto, $match); foreach ($match[0] as $link) { //coloca o 'http://' caso o link não o possua $link_completo = (stristr($link, "http://") === false) ? "http://" . $link : $link; $link_len = strlen ($link); //troca "&" por "&", tornando o link válido pela W3C $web_link = str_replace ("&", "&", $link_completo); $texto = str_ireplace ($link, "<a href=\"" . strtolower($web_link) . "\" target=\"_blank\">". (($link_len > 60) ? substr ($web_link, 0, 25). "...". substr ($web_link, -15) : $web_link) ."</a>", $texto); } return $texto; } include "conmysql.php"; $id = $_GET['id']; $consulta = "SELECT * FROM noticias WHERE id='$id'"; $fazer_consulta = mysql_query($consulta); while ($dados_consulta = mysql_fetch_array($fazer_consulta)) { $titulo = $dados_consulta['titulo']; $texto = $dados_consulta ['texto']; $cidade = $dados_consulta ['cidade']; $data = $dados_consulta ['data']; $link = $dados_consulta ['link']; echo "<font size=5><b>$titulo</b></font><br>"; echo "<font size=3>$texto</font><br>"; echo "<font size=3>$cidade</font><br>"; echo "<font size=3>$data</font><br>"; echo "<font size=2>".MontarLink ($link)."</font><br><br><br>"; } echo "<a href=index.php><font size=2>Voltar</font></a>"; ?>E aqui não retornou nenhum erro... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ândres Postado Junho 6, 2007 Autor Denunciar Share Postado Junho 6, 2007 No meu continua o mesmo erro :Parse error: parse error in c:\windows\serv-n\www\not2\noticia.php on line 50O que acha que posso estar fazendo de errado? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 6, 2007 Denunciar Share Postado Junho 6, 2007 Eu tinha postado o script sem o }, agora tá ok..<?php function MontarLink ($texto) { if (!is_string ($texto)) return $texto; $er = "/(http:\/\/(www\.|.*?\/)?|www\.)([a-zA-Z0-9]+|_|-)+(\.(([0-9a-zA-Z]|-|_|\/|\?|=|&)+))+/i"; preg_match_all ($er, $texto, $match); foreach ($match[0] as $link) { //coloca o 'http://' caso o link não o possua $link_completo = (stristr($link, "http://") === false) ? "http://" . $link : $link; $link_len = strlen ($link); //troca "&" por "&", tornando o link válido pela W3C $web_link = str_replace ("&", "&", $link_completo); $texto = str_ireplace ($link, "<a href=\"" . strtolower($web_link) . "\" target=\"_blank\">". (($link_len > 60) ? substr ($web_link, 0, 25). "...". substr ($web_link, -15) : $web_link) ."</a>", $texto); } return $texto; } include "conmysql.php"; $id = $_GET['id']; $consulta = "SELECT * FROM noticias WHERE id='$id'"; $fazer_consulta = mysql_query($consulta); while ($dados_consulta = mysql_fetch_array($fazer_consulta)) { $titulo = $dados_consulta['titulo']; $texto = $dados_consulta ['texto']; $cidade = $dados_consulta ['cidade']; $data = $dados_consulta ['data']; $link = $dados_consulta ['link']; echo "<font size=5><b>$titulo</b></font><br>"; echo "<font size=3>$texto</font><br>"; echo "<font size=3>$cidade</font><br>"; echo "<font size=3>$data</font><br>"; echo "<font size=2>".MontarLink ($link)."</font><br><br><br>"; } echo "<a href=index.php><font size=2>Voltar</font></a>"; ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ândres Postado Junho 6, 2007 Autor Denunciar Share Postado Junho 6, 2007 Desculpa incomodar tanto =/mas está dando erro aqui://troca "&" por "&", tornando o link válido pela W3C$web_link = str_replace ("&", "&", $link_completo);$texto = str_ireplace ($link, "<a href=\"" . strtolower($web_link) . "\" target=\"_blank\">". (($link_len > 60) ? substr ($web_link, 0, 25). "...". substr ($web_link, -15) : $web_link) ."</a>", $texto); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Zero Cool Postado Junho 22, 2007 Denunciar Share Postado Junho 22, 2007 tenta asiim echo "<a href='". $link ."' target=''>". $link ."</a> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Ândres
Olá, galera
To precisando de uma ajuda para colocar um link em uma noticia
veja como esta no link: http://www.netcenterdesign.com.br/not/noticia.php?id=7
onde está www.linkparaumsite.com.br, gostaria de transforma-lo em um link clicavel
veja o codigo da noticia:
<?php
include "conmysql.php";
$id = $_GET['id'];
$consulta = "SELECT * FROM noticias WHERE id=$id'";
$fazer_consulta = mysql_query($consulta);
while ($dados_consulta = mysql_fetch_array($fazer_consulta)) {
$titulo = $dados_consulta['titulo];
$texto = $dados_consulta ['texto'];
$cidade = $dados_consulta ['cidade'];
$data = $dados_consulta ['data'];
$link = $dados_consulta ['link'];
echo "<font size=5><b>$titulo</b></font><br>";
echo "<font size=3>$texto</font><br>";
echo "<font size=3>$cidade</font><br>";
echo "<font size=3>$data</font><br>";
echo "<font size=2>$link</font><br><br><br>";
}
echo "<a href=index.php><font size=2>Voltar</font></a>";
?>
Agradeço por uma ajuda
Link para o comentário
Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados
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.