6

文字列をDBに送信する前に解析しています。その文字列をすべて<br>調べて、配列から取得した一意の番号に置き換え、その後に newLine を追加したいと考えています。

例えば:

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"

シンプルに聞こえます。while ループを実行し、strpos を<br>使用するすべてのオカレンスを取得し、それらを str_replace を使用して必要な数値 +\n に置き換えます。

問題は、常にエラーが発生し、何が間違っているのかわからないことです。おそらく愚かな間違いですが、それでも迷惑です。

これが私のコードです

$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++;
}

アイデアはありますか?

前もって感謝します、

4

6 に答える 6

0

$変数の前に覚えておく必要があります。また、置換の数を指定できるphp 正規表現関数を使用してみてください。

<?php
$str     = "Line <br> Line <br> Line <br> Line <br>";
$replace = array("1", "2", "3", "4");
$index = 0;
$count = 1;

while(strpos($str, '<br>') != false )
{
    $str = preg_replace('/<br>/', $replace[$index] . " \n", $str, 1); //str_replace, replaces the first occurance of <br> it finds
    $index++;
}
echo $str
?>
于 2013-04-22T16:47:15.660 に答える