2014-02-22 131 views
0

所以我有三个页面是索引页。将索引页中的表单数据写入数据库的一种方法。还有一个从数据库中获取数据,并用数据回显出一个html表格。如何从数据库中获取url

当前如果你在表格中写一个链接。它会以文本形式出现。我希望整个链接像<a href="[link]">[link]</a>

所以说,如果我写这到窗体:

看看这个:www.google.com 看看这个:https://www.google.com

它会出来这样的HTML

看这个:<a href="www.google.com">www.google.com</a>

我怎么能这样做呢?


好了,所以在html是:

<form class="wide" action="Write-to.php" method="post"> 
     <input class="wide" autocomplete="off" name="txt" type="text" id="usermsg" style="font-size:2.4vw;" value="" /> 
</form> 

用户在其中会写:

“看看这个:www.google.com 看看这个:https://www.google.com

然后这将通过Write-to.php发送到数据库。

$sql="INSERT INTO social (comunicate) 

VALUES 

('$_POST[txt]')"; 
} 

这则被写入到数据库:

$result = mysqli_query($con,"(select * from social order by id desc limit {$limit_amt}) order by id asc"); 
while($row = mysqli_fetch_array($result)) 
{ 
     echo "<tr div id='".$i."' class='border_bottom'>"; 
     echo "<th scope='col'>"; 
     echo "<span class='text'>".htmlspecialchars($row['comunicate'])."</span><br />"; 
     echo "</th>"; 
     echo "</tr>"; 
} 
+0

您可以发布您关于呼应URL编码? – Fabio

+0

这只是使用mysqli'mysqli_fetch_array'的标准方式# – maxisme

+0

为什么downvote? – maxisme

回答

1

试试看:

echo('<a href="'.$your_url_variable.'">'.$your_url_variable.'</a>'); 

更新:

的OP真的想检测的URL中的字符串。一种可能的解决方案是使用正则表达式对其进行过滤。此代码可以帮助:

<?php 

// The Regular Expression filter 
$reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/"; 

// The Text you want to filter for urls 
$text = "The text you want to filter goes here. http://google.com"; 

// Check if there is a url in the text 
if(preg_match($reg_exUrl, $text, $url)) { 

     // make the urls hyper links 
     echo preg_replace($reg_exUrl, "<a href="{$url[0]}">{$url[0]}</a> ", $text); 

} else { 

     // if no urls in the text just return the text 
     echo $text; 

} 
?> 

来源:http://css-tricks.com/snippets/php/find-urls-in-text-make-links/

+0

我知道如何创建链接!我只需要一种方法让php识别它的一部分**是**链接 – maxisme

+1

使用正则表达式对其进行过滤。看看这个链接:[链接](http://css-tricks.com/snippets/php/find-urls-in-text-make-links/) – MillaresRoo

+0

正是我想要的! – maxisme

0

保存的超级链接在数据库和检索,通过SQL查询 像一个字符串:

select link from table_name where index = i 并保存链接为:<a href="whatever"> whaatever here</a>

并打印它

0
Use this 
echo '<a href="' . $res['url'] . '">' . $res['url'] . '</a>'; 
1

当显示用户提供的(被感染的)数据时,您需要担心很多事情。

function validateUrl($url) { 
    return filter_var($url, FILTER_VALIDATE_URL); 
} 
  • 你试图做的是将一个字符串转换成一个链接,例如你可以写这样的功能:
function makeClickable($link) { 
    $link = htmlspecialchars($link); 
    return sprintf('<a href="%s">%s</a>', $link, $link); 
} 
  • 您可以使用字符串连接为好,但我不会做,在我看来代码。只是个人喜好。

  • 看看在urlencode功能,一定会派上用场。

  • 我也建议你阅读cross site scripting

请注意,我没有做任何落实的建议,我的目的就是向你展示,演示制作一个字符串“点击”一些人为的代码示例。

更新: 如果你想使链接文本内点击,请参考以下几个问题:

+0

+1因为有用的信息。但没有真正回答这个问题。所以不知道我是否在这里遵守法律 – maxisme

+0

我的“makeClickable”函数将使有效的用户提供的链接可点击,但有几种情况需要照顾,例如您确定您总是会得到有效的网址吗?有时用户不会打扰http://等。我能做的最好的是给你一个简单的演示,并且可以将它调整到你的用例:) – ymas