我正在使用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>
这会导致链接被添加到另一个链接中。
所以我的问题是如何选择要添加的正确文本(此过程是随机自动的)。为了做到这一点,我应该考虑什么?
答案 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()来分离已经链接的部分,并排除那些已添加标签的部分
使用正则表达式可能是一种更好的方法,使用爆炸你可能会头疼,试图跟踪数组的哪些部分是链接。此外,您必须处理事后重新组合并重新插入标签。