String zerlegen an verschieden Stellen
ich noch mal
Ich habe verschieden Strings die immer 200 Zeichen lang sind.
Diesen möchte ich an bestimmten stellen zerlegen.
z.B. 3 - 30 - 30 - 30 - 30 - 3 - 6 - 30 ........
Gibt es eine schönere Methode als das hier?
Ich habe verschieden Strings die immer 200 Zeichen lang sind.
Diesen möchte ich an bestimmten stellen zerlegen.
z.B. 3 - 30 - 30 - 30 - 30 - 3 - 6 - 30 ........
Gibt es eine schönere Methode als das hier?
<?
$array = substr($string, 0, -197);
$array[1] = substr($string, 3, -167);
$array[2] = substr($string, 33, -137);
//usw.
?>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 291188
Url: https://administrator.de/contentid/291188
Ausgedruckt am: 22.11.2024 um 09:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo @ppmk22,
da könntest du dir z.B. eine eigene kleine Funktion dafür schreiben, welcher du den String und ein Array aus den Stringlängen übergibst. Dann kannst du sie bei Folgeaufrufen einfach erneut benutzen:
Grüße Uwe
da könntest du dir z.B. eine eigene kleine Funktion dafür schreiben, welcher du den String und ein Array aus den Stringlängen übergibst. Dann kannst du sie bei Folgeaufrufen einfach erneut benutzen:
<?php
function splitstring($str,$arr_parts){
if(array_sum($arr_parts) <= strlen($str)){
$pos = 0; // Variable speichert die Startpositionen
$arr_out = array(); //Array welches zum Schluss ausgegeben wird
for ($i = 0;$i < count($arr_parts);$i++){
array_push($arr_out,substr($str,$pos,$arr_parts[$i]));
$pos += $arr_parts[$i];
}
return $arr_out;
}else{
return "Fehler! Aufteilung größer als Stringlänge";
}
}
// String welcher zerlegt werden soll
$string = "HallodasisteinTest";
// String mit obiger Funktion und einem Array der Stringlängen zerlegen
$result = splitstring($string,array(5,3,3,3,4));
// Ausgabe
echo "<pre>" . print_r($result,true) . "</pre>";
?>
Schön das es dich weiter gebracht hat.
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.
Guten Rutsch
Grüße Uwe
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.
Guten Rutsch
Grüße Uwe