2009-08-03 21 views
0

我正在使用PHP。我有一些存儲在MySQL中的文章,他們都有一些風格(如一些CSS或標籤)。現在我必須隨機地自動添加一些文本鏈接。這意味着我必須添加鏈接到文本並確保鏈接不會破壞樣式。如何添加HTML格式文本的鏈接? (隨機使用程序)

我覺得最困難的部分是如何添加鏈接,但沒有打破風格。有沒有任何規則或例子,我可以遵循在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

你能提供你想要的行爲和你沒有的行爲的例子嗎? – 2009-08-03 08:01:30

回答

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> 

我看不出它可以打破你的風格......

+0

只要你照顧並再次關閉所有的標籤...... – Boldewyn 2009-08-03 06:48:43

+0

我的意思是標籤。我隨機插入「 ...」標籤,因此我必須確保「 ...」標籤不會再插入「 ...」中。 這只是一個例子,我不知道我應該關心什麼標籤,以及我應該選擇什麼技術來做到這一點(正則表達式或DOM?) – 2009-08-03 07:15:29

0

我明白,你想你鏈接在同一地點與其他測試不同。在這種情況下,您需要爲與您的文本樣式相似的鏈接明確指定樣式。

例子:

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

您是否使用PHP插入鏈接標籤?可以通過多次傳遞來解決,在添加到「文章」的鏈接之後,然後在開始和結束標籤上使用explode()來分離已經是鏈接的部分,並排除那些添加了標籤的部分。

可能是一個更好的方式來做到這一點使用正則表達式,使用爆炸你可能會得到一個頭痛試圖跟蹤哪些陣列的部分是鏈接。此外,您必須處理之後重新組合事件並將標籤插回。