str_replace在找到的每条记录中增加变量值

时间:2016-12-25 18:14:53

标签: php

我有一个html字符串,我必须在其中绘制一个html代码,但是当我在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方法遇到导致$ variable代码增加其值的匹配时,是否有办法调用函数?

它看起来像这样:

$codigoU ++;

如果有另一种方法可以做到这一点,我还没有在网上找到它,我需要增加那个变量,我不知道怎么做。

感谢。

1 个答案:

答案 0 :(得分: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。计算完比赛后,您就可以像现在一样进行替换。