En remplaçant toutes les occurrences d'une chaîne de valeurs à partir d'un tableau

Je suis de l'analyse d'une chaîne de caractères avant de l'envoyer à un DB. Je veux aller sur tous <br> dans cette chaîne et de les remplacer avec des numéros uniques que je l'obtenir à partir d'un tableau, suivi par un saut de ligne.

Par exemple:

str = "Line <br> Line <br> Line <br> Line <br>"
$replace = array("1", "2", "3", "4");

my function would return 
"Line 1 \n Line 2 \n Line 3 \n Line 4 \n"

Semble assez simple. Je voudrais juste faire une boucle while, obtenir toutes les occurances de <br> à l'aide de strpos, et les remplacer par celles de la nécessaire numéros+le\n à l'aide de str_replace.

Problème est que j'ai toujours une erreur et je n'ai aucune idée de ce que je fais de mal? Probablement une erreur stupide, mais toujours ennuyeux.

Voici mon code

$str     = "Line <br> Line <br> Line <br> Line <br>";
$replace = array("1", "2", "3", "4");
$replaceIndex = 0;

while(strpos($str, '<br>') != false )
{
    $str = str_replace('<br>', $replace[index] . ' ' .'\n', $str); //str_replace, replaces the first occurance of <br> it finds
    index++;
}

Des idées s'il vous plaît?

Merci d'avance,

Eh bien d'abord, de tous dans la première itération, vous permettra de remplacer toutes les instances de <br>.... De faire de cette façon vous auriez à seulement remplacez les pièces de la chaîne à l'aide de substr_replace qui permet de définir les postions pour il de remplacement.

OriginalL'auteur r3x | 2013-04-22