如何添加链接到HTML格式的文本? (随机,使用程序)

时间:2009-08-03 06:32:24

标签: php mysql html css hyperlink

我正在使用PHP。我有一些存储在MySQL中的文章,它们都有一些风格(比如一些css或标签)。现在我必须随机自动添加一些文本的链接。这意味着我必须添加文本链接,并确保链接不会破坏样式。

我认为最困难的部分是如何添加链接但不打破风格。是否有任何规则或示例我可以在PHP中进行此操作?

非常感谢任何帮助和建议〜

更新:

也许这个问题是如何选择“正确的文字”来添加链接。如果文本已经在链接中,则不适用。那我该怎么办呢?

例如:

<div>This is an article with some <a href="http://originallinks.com">original links</a></div>

我需要选择一些文字来添加链接。文本由程序随机选择。如果文字是“文章”:

<div>This is an <a href="http://anotherlink.com">article</a> with some <a htef="originallinks.com">original links</a></div>

这没关系,但如果文字是“原创”:

<div>This is an article with some <a htef="originallinks.com"><a href="http://anotherlink.com">original</a> links</a></div>

这会导致链接被添加到另一个链接中。

所以我的问题是如何选择要添加的正确文本(此过程是随机自动的)。为了做到这一点,我应该考虑什么?

3 个答案:

答案 0 :(得分:1)

如果为链接创建css样式,则指定所有属性(颜色,大小......)我不会看到它如何破坏您的样式,因为您只需使用正确的标记标记文本。

假设你有:

<div>Some text with style and a link and some more text</div>

它将成为

<div>Some text with style and <a style="link-style">a link</a> and some more text</div>

我看不出它会破坏你的风格...

答案 1 :(得分:0)

我知道您希望您的链接在同一个地方与其他测试区别开来。在这种情况下,您需要明确指定与文本样式类似的链接样式。

示例:

div.mycontent {
    color: #333333;
    font-weight: bold;
}
div.mycontent a {          // add this for links
    color: #333333;
    font-weight: bold;
    text-decoration: none;
}

答案 2 :(得分:0)

您是否使用php插入链接标签?可以通过多次传递解决,在您添加链接到“文章”后,然后在开始和结束标记上使用explode()来分离已经链接的部分,并排除那些已添加标签的部分

使用正则表达式可能是一种更好的方法,使用爆炸你可能会头疼,试图跟踪数组的哪些部分是链接。此外,您必须处理事后重新组合并重新插入标签。