Stringzerlegen!!

09/24/2010 16:06 xmoeglll#1
Also mein Problem:

ich lese einen verunreinigten url aus!! ( immer mal wieder "amp;" drinne)
so dieses möchte ich natürlich loswerden damit mein url wieder funktioniert
die frage ist nur wie ich das mach-.- hab ein bisschen gegoogelt aber noch nichts gescheites hinbekommen...

mfg
xmoeglll

würd mich riesig auf eine sinnvolle antwort freuen!!
09/24/2010 16:52 DraaaKe#2
StringSplit?
schreib ein Beispiel dann kann man dir besser helfen
09/24/2010 17:07 xmoeglll#3
Quote:
Originally Posted by DraaaKe View Post
StringSplit?
schreib ein Beispiel dann kann man dir besser helfen
also die url:

[Only registered and activated users can see links. Click Here To Register...]amp;session=456s4ad6asdamp;token=sdf4sd5f6sdf

als vereinfachtes bsp...

und dieses "amp;" muss weg... (um etwas genauer zu werden arbeite gerade an einem ogame bot bis jetzt kann er sich einloggen und in den kategorien rumstöbern und nun auch gebäude bauen!!

also die lösung habe ich schon gefunden und heißt:
PHP Code:
StringRegExpReplace ($sstring"amp;"""
trozdem danke für deine hilfsbereitschaft=) bekommst en thx

kann meiner meinung nach geclosed werden!!!
09/24/2010 19:00 Shkal#4
Dafür die RegExp Engine zu starten ist denkbar unnötig, und verlangsamt dein Script nur. StringReplace eignet sich da (weil dein Suchstring sowieso kein regulärer Ausdruck ist) wesentlich besser.
09/24/2010 19:41 lolkop#5
sry war falsche annahme :o
09/24/2010 20:08 Shkal#6
Nein ist er nicht, und wird er auch nie sein - Jedenfalls nicht bei solchen Strings. Vielleicht solltest DU erstmal überprüfen was du hier postest. Du brauchst mir nicht erklären wie irgendwas funktioniert, denn ich weiß es mit ziemlicher Sicherheit besser.

Allein die Initialisierung der PCRE Engine benötigt so viel Zeit wie der komplette Durchlauf von StringReplace. Wahrscheinlich hast du bei deiner unglaublich präzisen Zeitmessung nichtmal für gleiche Bedingungen gesorgt: CASE-SENSITIVITY!

Diese beschleunigt StringReplace nämlich um ungefähr 300% gegenüber einem Nicht-fallunterscheidendem Ersetzen. StringRegExp hat übrigens standardmäßig die Fallunterscheidung eingeschaltet (welche sich mit dem (?i)-Modifier ausschalten lässt), und lässt sich deswegen nicht mehr großartig verschnellern - eher im Gegenteil.

Versuch mal nicht überall dazwischen zu quatschen und halt dich einfach mal zurück wenn jemand anderes Recht haben könnte.

LG
09/24/2010 20:31 lolkop#7
da hast du recht sry hatte es mit default configs getestet. mit case sensivity ist der normale replace deutlich befehl schneller =)
09/24/2010 23:51 | Moep |#8
Quote:
Originally Posted by lolkop View Post
da hast du recht sry hatte es mit default configs getestet. mit case sensivity ist der normale replace deutlich befehl schneller =)
Warum editierst du immer deine posts? nobodys perfect... ;)
09/25/2010 01:04 lolkop#9
Quote:
Originally Posted by | Moep | View Post
Warum editierst du immer deine posts? nobodys perfect... ;)
weil ich nich will das jemand die falschen aussagen liest und dann noch für denkt, dass es so ist ohne weiter zu lesn :P