我對PHP比較新,希望有人可以幫我替換正則表達式,或者可能替換一個匹配,我並不確定。Preg替換 - 替換第二次匹配
我想自動加粗(第二次出現匹配),然後使第4次出現匹配斜體,然後第7次出現匹配下劃線。
這基本上是針對內容搜索引擎優化的目的。
我已經做了一些替換:並認爲這應該做的伎倆?
preg_replace(pattern, replacement, subject [, limit ])
我已經知道我想在
'pattern' is also a word that is already defined like [word].
`replacement` 'This is a variable I am getting from a mysql db.
'subject' - The subject is text from a db.
使用可以說我有這個內容的一句話:這說明或多或少是我想做的事情。
這是我想替換的文本的一個例子。在本文中,我想使第二個出現的單詞示例 <加粗。然後我想跳過下一次在文本中發生的示例,並使第4次單詞例如以斜體顯示。然後我想跳過文本中第5次出現的單詞示例以及第6次,最後希望在文本中出現的第7次example加下劃線。在這個例子中,我使用超鏈接作爲下劃線示例,因爲我在文本編輯器中看不到下劃線功能。文字中的例子可能會出現更多次,但我唯一的要求是一次強調,一次大膽,一次斜體。我稍後可能會對「示例」這個詞做一些引用,但它還不是優先考慮的事情。
如果沒有至少7個單詞出現,代碼不要通過錯誤也很重要。
我該如何做到這一點,任何想法將不勝感激。
非常感謝Gumbo!我幾乎可以開始直接向你發送我的所有問題:-)大多數情況下,你是那個有效的答案!太感謝了。 – 2011-04-16 18:23:31
嗨,現在我很困惑。我已使用此頁面上的代碼http://24hour-casino-games.com/casino-reviews/online/casino_may_flower.asp h1不是字符串的一部分。所以如果我算上「五月花賭場」的話。第2場可能會開花賭場得到突出顯示,這是正確的。然後第四次使用它是斜體 - 這是正確的。然後如果我在$ str之後創建值,則7(14)將在第7個位置顯示另一個粗體,這是正確的。你可以向我解釋$ parts [7]在位置4和$ 7在位置7顯示...謝謝 – 2011-04-16 19:20:57
@Gerald Ferreira:當'preg_split'捕獲分隔符(模式匹配)時,結果總是奇數個零件,其中奇數索引(因爲基於零)的每個偶數部分都是分隔符。所以第一個分隔符是1,第二個是3,第三個是5,等等。這可以用* i *·2 - 1來表示。 – Gumbo 2011-04-16 19:26:54