2016-12-25 64 views
0

我有一個html字符串,其中必須繪製html代碼,但如果包含在str_replace中的變量在html中找到某些html時增加了它的值,我會感興趣。str_replace在找到的每條記錄中增加變量值

$codigoU = 1000; 

$info = str_replace(array('</p><div', '</div></div>'),array('<div><br class="'.$codigoU.'"><input type="button"class=="'.$codigoU.'"></div><input type="text" class="tex" value="" placeholder="Eti"></div><br class="'.$codigoU.'"><br class="'.$codigoU.'">', '</div></div></div></div>'),$info); 

這裏是我的代碼,會有一種方式來調用一個函數時,str_replace函數方法遇到匹配引起$變量的代碼被它的值會增加嗎?

這將是這個樣子:

$codigoU ++; 

如果有另一種方式來做到這一點我還沒有發現它在網絡上,我需要增加變量,我不知道我怎麼會做到這一點。

感謝。

回答

1

沒有回調到str_replace()爲「遭遇一場比賽」,但你可以count the number of occurrences of a substring within a string更換那些發生之前。例如:

$codigoU += substr_count($your_substring, $your_string); 

由於您使用的是數組,因此您可能需要在循環中執行此操作。喜歡的東西:

$substrings = array('</p><div', '</div></div>'); 
foreach ($substrings as $substring) { 
    $codigoU += substr_count($substring, $info); 
} 

這將增加$codigoU在您$info串每場比賽。在計數完比賽之後,你會像現在那樣執行替換字符串。

+0

你可以擴展這個例子嗎?我無法理解,非常感謝大衛。 – PlayerWet

+0

@PlayerWet:有沒有你不明白的特定部分?此代碼只是將子字符串計數添加到要替換的每個子字符串的變量中。 – David

+0

結果@David非常奇怪,我試過這個循環,它不會增加變量。該循環是否爲陣列的每個元素提供了兩圈? 變量的結果仍然是1000.對不起,我的笨拙。 :S – PlayerWet