Mailinglisten-Archive |
Hallo ! Danke für die Info. Auf php.net -> unserialize gibt es in den Kommentaren ein Lösungsvorschlag, den ich übernommen habe. ----------------------- function unserializesession( $data ){ if( strlen( $data) == 0) return array(); // match all the session keys and offsets preg_match_all('/(^|;|\})([a-zA-Z0-9_]+)\|/i', $data, $matchesarray, PREG_OFFSET_CAPTURE); $returnArray = array(); $lastOffset = null; $currentKey = ''; foreach ( $matchesarray[2] as $value ){ $offset = $value[1]; if(!is_null( $lastOffset)) { $valueText = substr($data, $lastOffset, $offset - $lastOffset ); $returnArray[$currentKey] = unserialize($valueText); } $currentKey = $value[0]; $lastOffset = $offset + strlen( $currentKey )+1; } $valueText = substr($data, $lastOffset ); $returnArray[$currentKey] = unserialize($valueText); return $returnArray; } ------------------------------- Klappt prima. Mit freundlichen Grüßen Stephan Robert Hartung <r.hartung at roberthartung.de> hat am 14. November 2011 um 14:09 geschrieben: > Du kannst dir auch nen Parser in wenigel Zeilen schreiben da ein regex mM > nicht die Komplexität handeln kann. > > Einfach zeichen für Zeichen abarbeiten. > > Sessions sind doch eh temporär wieso also nich einfach umstellen? > > Von meinem iPhone gesendet > > Am 14.11.2011 um 14:05 schrieb Stephan <info at suppenterrine.de>: > > > Hallo ! > > > > Danke für die Info. Leider kann ich die Struktur nicht mehr ändern. > > Ich muss wohl eine eigene Funktion schreiben. > > Irgend etwas mit einer RegExp. > > > > Gruß Stephan > > > > > > > > Robert Hartung <r.hartung at roberthartung.de> hat am 14. November 2011 um > > 10:53 > > geschrieben: > > > >> Hallo, > >> > >> phpSession verwenden eine andere Funktion als die, die von serialize() bzw. > >> unserialize() verwendet werden. Daher würde ich dir raten, das entweder > >> sein > >> zu lassen, oder die Session Funktionen selber zu schreiben. > >> > >> VG > >> Robert > >> > >> -----Ursprüngliche Nachricht----- > >> Von: php-bounces at phpbar.de [mailto:php-bounces at phpbar.de] Im Auftrag von > >> Stephan > >> Gesendet: Montag, 14. November 2011 10:46 > >> An: php at phpbar.de > >> Betreff: [php] deserialization Session aus Datenbank > >> > >> > >> Hallo ! > >> > >> Momentan habe ich ein Problem: > >> Ich speichere die Session in einer Datenbank. > >> Bsp.: > >> > >> -------------------------- > >> > >>translate|a:4:{s:6:"module";s:5:"admin";s:10:"controller";s:10:"whiteboard" > >> ;s:6:"action";s:5:"index";s:8:"language";s:2:"de";} > >> ... > >> -------------------------- > >> > >> Zu Kontrollzwecken will ich mir den Inhalt der Session mit einem > >> simplen Tool anzeigen lassen. > >> > >> Hat Php wirklich keine geeignete Funktion um den Session Inhalt (siehe > >> Beispiel) > >> in ein Array zu wandeln ??? > >> > >> Mit freundlichen Grüßen > >> > >> Stephan > >> -- > >> ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de ** > >> Informationen: http://www.phpbar.de > >> http://lists.phpbar.de/mailman/listinfo/php > >> > >> ----- > >> eMail ist virenfrei. > >> Von AVG überprüft - www.avg.de > >> Version: 10.0.1411 / Virendatenbank: 2092/4015 - Ausgabedatum: 13.11.2011 > >> > >> -- > >> ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de ** > >> Informationen: http://www.phpbar.de > >> http://lists.phpbar.de/mailman/listinfo/php > >> > > -- > > ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de ** > > Informationen: http://www.phpbar.de > > http://lists.phpbar.de/mailman/listinfo/php > -- > ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de ** > Informationen: http://www.phpbar.de > http://lists.phpbar.de/mailman/listinfo/php >
php::bar PHP Wiki - Listenarchive