ZuVieL Geschrieben 3. März 2007 Geschrieben 3. März 2007 hi, ich hab einen string in dem string ist irgednwo so etwas in der art vorhanden: {1:2:3:4} wie bekomme ich diesen part ausgelesen?
e@sy Geschrieben 3. März 2007 Geschrieben 3. März 2007 SELFHTML Forumsarchiv / 2003 / September / string auslesen semikolon als trennzeichen
etreu Geschrieben 3. März 2007 Geschrieben 3. März 2007 Hast du dich schon mit regulären Ausdrücken beschäftigt?
Chris86 Geschrieben 4. März 2007 Geschrieben 4. März 2007 Hoi, hier hast du eine Beschreibung von der offiziellen Dokumentation zum Thema substr() ... Link Mfg Chris
Einherjer Geschrieben 12. März 2007 Geschrieben 12. März 2007 -> PHP Stringfunktionen Weniger als eine Minute Arbeit - ca. 30 Lösungsansätze für dein Problem, inkl. Tutorials, blabla...
ZuVieL Geschrieben 13. März 2007 Autor Geschrieben 13. März 2007 lösung habe ich schon lange gefunden... danke aber ganz so einfach wars auch nicht...
e@sy Geschrieben 13. März 2007 Geschrieben 13. März 2007 Wäre ja nett wenn du die Lösung hier kundtun würdes. Dann können andere auch ihren nutzen daraus ziehen.
ZuVieL Geschrieben 13. März 2007 Autor Geschrieben 13. März 2007 //setze i auf 0 $i = 0; //gehe gesamten string durch while($i == '0') { //definiere zeichen1 $zeichen1 = '{'; //definiere zeichen2 $zeichen2 = '}'; //hole position von $zeichen1 $pos1 = strpos($inhalt, $zeichen1); if($pos1 == '' OR empty($pos1)) { //setze i auf 1 wenn keine position mehr gefunden wurde und beende while $i = 1; }//if ende else { //schneide alles ab bis $pos1 (postion1) $inhalt_sub = substr($inhalt, $pos1); //hole pos von $zeichen2 (position2) $pos2 = strpos($inhalt_sub, $zeichen2); //schneide alles ab von postion 0 bis ziechen position2 + 1 $inhalt_sub2 = substr($inhalt_sub,0 , $pos2+1); //schreibe nun von zeichen 0 pis position + 1 in array $bild_arr[] = $inhalt_sub2; //ersetze gesamten string mit '' $inhalt = str_replace($inhalt_sub2, '', $inhalt); }//ende else }//while ende [/PHP] $inhalt wird mit dem string gefüllt welcher inhalte enthält wie {hallo} oder {blablabla} diese strings werden nun im array $bild_arr gespeichert und können in einer erneuten schleife ersetzt werden oder sonst was werden mein zweck hat es erfüllt: meine stringketten sahen ca so aus: {5,0,1} das sollte ein bild ergeben die erste 5 steht für das bild mit der id 5 welches ich aus der db hole. die 0 für den rahmen oder keinen und die 1 für die größe des bilder groß für 1 und 0 für n thumbnail vielleicht hätte man es auch einfacher lösen können,... aber der pro bin ich ja nicht
Monty82 Geschrieben 14. März 2007 Geschrieben 14. März 2007 Mit regulären Ausdrücken hätte es so aussehen können: <?php $strTmp = 'das ist ein {5,0,1} test {5,0,0} zum ersetzen von bildern'; $arrReplace = array(); if (preg_match_all('/{([0-9]+),([01]),([01])}/s',$strTmp,$arrPregRes) > 0) { if (is_Array($arrPregRes) && is_Array($arrPregRes[0])) { foreach ($arrPregRes[0] as $key=>$val) { if (is_Array($arrReplace) && !array_key_exists($val,$arrReplace)) { $intImgId = intval($arrPregRes[1][$key]); $intBorder = intval($arrPregRes[2][$key]); $intSize = intval($arrPregRes[3][$key]); if ($intSize == 1) $strFile = 'bild_mit_id_'.$intImgId.'_gross.jpg'; else $strFile = 'bild_mit_id_'.$intImgId.'_klein.jpg'; $arrReplace[$val] = '<img src="'.$strFile.'" border="'.$intBorder.'">'; } } } } if (is_Array($arrReplace)) { foreach ($arrReplace as $key=>$val) { $strTmp = str_replace($key,$val,$strTmp); } } echo $strTmp; ?> [/PHP]
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden