Veröffentlicht 3. März 200718 j 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?
3. März 200718 j SELFHTML Forumsarchiv / 2003 / September / string auslesen semikolon als trennzeichen
4. März 200718 j Hoi, hier hast du eine Beschreibung von der offiziellen Dokumentation zum Thema substr() ... Link Mfg Chris
12. März 200718 j -> PHP Stringfunktionen Weniger als eine Minute Arbeit - ca. 30 Lösungsansätze für dein Problem, inkl. Tutorials, blabla...
13. März 200718 j lösung habe ich schon lange gefunden... danke aber ganz so einfach wars auch nicht...
13. März 200718 j Wäre ja nett wenn du die Lösung hier kundtun würdes. Dann können andere auch ihren nutzen daraus ziehen.
13. März 200718 j //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
14. März 200718 j 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]
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.