phpMyAdmin
 sql >> Datenbank >  >> Database Tools >> phpMyAdmin

Ersetzen aller Vorkommen einer Zeichenfolge durch Werte aus einem Array

Ich würde einen regulären Ausdruck und einen benutzerdefinierten Rückruf wie folgt verwenden:

$str = "Line <br> Line <br> Line <br> Line <br>";
$replace = array("1", "2", "3", "4");
$str = preg_replace_callback( '/<br>/', function( $match) use( &$replace) {
    return array_shift( $replace) . ' ' . "\n";
}, $str);

Beachten Sie, dass dies davon ausgeht, dass wir $replace ändern können Reihe. Ist dies nicht der Fall, können Sie einen Zähler führen:

$str = "Line <br> Line <br> Line <br> Line <br>";
$replace = array("1", "2", "3", "4");
$count = 0;
$str = preg_replace_callback( '/<br>/', function( $match) use( $replace, &$count) {
    return $replace[$count++] . ' ' . "\n";
}, $str);

Sie können diese Demo sehen dass dies ausgibt:

Line 1 Line 2 Line 3 Line 4