PHP schwierigen String filtern..
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
bild
code
doppelpunkt
ersten string
ersten zahl
ersten zahlen
hort
http
lernen
letzte wort
match
spalte
string
symbol
tabelle
url
wiedermal
zahl
zerlegen
-
Hallo, ich stehe vor einem kleinen Problemchen, welches ich nicht gelöst bekomme..
ICh habe eine Tabelle (mysql) in der icheine Reihe von Einträgen habe, die in etwa So aussehen:
´~ id="id287#%287!string.htm#*289.png#? !string.htm#String?+ ´~ id="id288#%288!feather.htm#*295.png#? !feather.htm#Feather?+ ´~ id="id373_8196#%373:8196!poisonpotion045.htm#*1122.png#? !poisonpotion045.htm#Poison Potion (0:45)?+
Jetzt muss ich die Srings jeweils mit PHP zerlegen.
Und zwar möchte ich, dass bei jedem Strin jeweils die ersten Zahlen zwischen dem Rautezeichen und dem Ausrufezeigchen gefiltert werden, danach Die "Zahl.png" zwischen dem * und dem # . Und zuletzt Das letzte Wort zwischen dem # und dem ?+.
Zum Beseseren Verständniss habe ich das ganze nochmal Grafisch verdeutlicht..
hier..
Später möchte ich die Werte dann in einer Neuen Tabelle geordnet abspeichern..
Quasi mit 3 Spalten: 1. Spalte die erste Zahl, 2. Spalte Die "Zahl.png" und in der 3. Das letzte Wort..
Ist das überhaupt möglich den String mit PHP so zu zerlegen?
Dankend, Hermine -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Kannst Du nochmal einen zweiten Beispielstring zeigen, damit wir sehen, was alles immer gleich ist?
Sonst wird das nichts... -
Jo.. Hier nochmal eine Grafik, mit noch den 2 Kürzeren Links markiert..
Zu beachten ist auch noch, dass in der ersten Zahl, auch manchmal noch ein Doppelpunkt vorkommen kann..
http://bilder-hort.de/upload/8432-werte2.png -
Also erstmal muss ich prahlen, dass ich erkannt habe, dass es um Minecraft geht
Und den ersten String kannst Du doch einfach zwischen #% und !, den zweiten zwischen #* und #? und den dritten zwischen # und ?+ finden, wobei Du beim letzten von hinten suchen musst.
Weißt Du mit RegEX umzugehen? -
tobiworlds schrieb:
Und den ersten String kannst Du doch einfach zwischen #% und !, den zweiten zwischen #* und #? und den dritten zwischen # und ?+ finden, wobei Du beim letzten von hinten suchen musst.
Weißt Du mit RegEX umzugehen?
xD Zwischen Welchen Symbolen ich Suchen Muss habe ich bereits in meinem Eröffnungspost erleutert
Und da ich eben nicht mit regex umzugehen weiss habe ich die Community befragt ;-D
Gruss
-
Meinst du es so?
<?php $s = array( '´~ id="id287#%287!string.htm#*289.png#? !string.htm#String?+', '´~ id="id288#%288!feather.htm#*295.png#? !feather.htm#Feather?+', '´~ id="id373_8196#%373:8196!poisonpotion045.htm#*1122.png#? !poisonpotion045.htm#Poison Potion (0:45)?+' ); function tokenize($s) { $regex = '|#%(.+)!.*#\*(.+)#\?.*#(.*)\?\+$|'; preg_match($regex, $s, $match); return array($match[1], $match[2], $match[3]); } // Testausgabe header('content-type: text/plain'); foreach($s as $i) { echo("$i\n"); print_r(tokenize($i)); }
-
hackyourlife schrieb:
Meinst du es so?
Ich danke dir mal wieder mein Liebster Hackyourlife.. Du hast mir wiedermal ein ganzes Stück weitergeholfen...
Jaja.. ich weis.. ICh sollte endlich mal Regex lernen
Ich sag nur: http://www.youtube.com/watch?v=5jQWWVGFhNQ&feature=youtu.be&t=3m31s
Grüssle Paddy -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage