【问题标题】:PHP: Create dynamic hyperlink from MySQL databasePHP:从 MySQL 数据库创建动态超链接
【发布时间】:2014-03-03 21:19:39
【问题描述】:

我对 PHP 和 MySQL 数据库非常陌生,想知道如何在从数据库中提取的文本内容中创建随机超链接。

这是一个博客类型的网站,我想让段落中的某些词指不同的网站:这可能吗?

我知道我可以这样做:

<?php
$sql = mysql_query("SELECT * FROM testblog ORDER BY id DESC");
while($row = mysql_fetch_assoc($sql)) {
$content = $row['content'];
$href = $row['href'];
?>
    <p> <a href="<?php echo $href; ?>"> <?php echo $content; ?> </a> </p>

上述格式的问题是整个段落是一个超链接,而我更喜欢单个单词,有时我什至可能不需要参考网站。

任何帮助或简单地指出我正确的方向将不胜感激,谢谢!

【问题讨论】:

  • 然后将$row['content'] 字符串拉开并在链接中包含您想要的任何单词。基本上是你现在所拥有的,但是是逐字逐句的,而不是“一切”的基础。
  • 您必须对要显示的文本有某种标准。前 X 个字符,单词?第一句话?
  • 抱歉,我不明白如何从数据库中提取内容。每个博客条目都不相同,超链接词将是随机的。我知道如何使用常规 HTML 进行操作,但网页上会有很多条目,因此我使用的是数据库。
  • 好的,戴夫,假设我希望第一个句子或单词成为超链接,这是否意味着我将为每个博客条目在我的数据库中为第一个句子/单词创建一个列,这将与href 列后跟博客条目的其余部分?

标签: php mysql database hyperlink href


【解决方案1】:

我认为你正在寻找的不是 PHP,实际上是一个 Javascript 的东西。

您需要定位页面正文中的特定字词并用链接替换它们。您可以使用 JKavascript 替换功能。

$("#myDiv").html().replace(/facebook/g, '<a href="http://www.facebook.com">Facebook</a>');

然后对您要添加的所有链接重复此操作。 g 表示它将选择 div 中的所有链接 id="myDiv"

如果你想对一个随机单词执行此操作,你可以在 php 中创建一个单词数组,然后使用 rand() 选择一个单词,然后将其回显到 Javascript 的各个部分。要遵循的示例

PHP

$word = array('facebook', 'twitter', 'john', 'mary'); // array of words

$i = rand(0, count($word)-1); // generate random number size of the array
$randword = "$word[$i]"; // set variable equal to which random word was chosen */

JavaScript

$("#myDiv").html().replace(/<?php echo $ranword; ?>/g, '<a href="http://www.thiswebsite.com"><?php echo $ranword; ?></a>');

或者类似的东西。

【讨论】:

  • 你也可以在 PHP 中做同样的事情。
  • @FabienWarniez 真的吗?怎么样?
  • @AdamBrown 我看到了逻辑,但我还不熟悉 javascript。根据您的示例,我确实认为这可能是解决方案。只是好奇没有办法将文本和代码输入数据库前。 $row['content'] 但是当显示在网页上时,它显示所有文本而不显示任何代码?
  • @user3272514 很抱歉,您能否改写最后一部分,我不明白您想说什么
  • @user3272514 你的意思是只在网页上的文本正文中输入代码吗?是的,Javascript。
猜你喜欢
  • 1970-01-01
  • 2014-04-05
  • 2011-09-17
  • 2020-03-09
  • 1970-01-01
  • 2017-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多