Suchen und ersetzen eines variablen Wertes
Christian Fischer
Satanic.Surfer.666 at web.de
Mo Jul 14 13:21:22 CEST 2008
Hi Uwe,
vielen Dank für Deine Antwort.
Ich hatte vergessen dass ich das mit LIKE '%[img:%:%]% schon probiert habe, die Suche dann aber auch Tags die z.B. so aussehen findet:
[img:z1nxhwn4]
welche aber nicht verändert werden sollen. Das mit substring/concat werde ich mir mal anschauen, die Funktionen kannte ich noch nicht.
Mit freundlichem Gruß
Chris Fischer
> -----Ursprüngliche Nachricht-----
> Von: "Uwe Driessen" <driessen at fblan.de>
> Gesendet: 14.07.08 12:32:10
> An: <mysql-de at lists.4t2.com>
> Betreff: RE: Suchen und ersetzen eines variablen Wertes
> Christian Fischer schrieb:
> >
> > in der Datenbank (Mysql 5.0.51a) meines phpBB 3.0 Forums habe ich eine Tablelle
> > "phpbb_posts" mit der Zeile "post_text" in der die einzelnen Posts abgespeichert sind.
> > Nach einem Forumsoftware- Update von 2.0 auf 3.0 habe ich jetzt das Problem dass ich in
> > der Zeile "post_text" folgenden Code für den [img] BBcode habe:
> >
> > [img:336:252]http://www.domain.de/bildname.jpg[/img]
> > (Die Zahlen 336:252 sind je nach Bildgröße variabel)
> >
> > welcher aber so aussehen sollte:
> >
> > [img]http://www.domain.de/bildname.jpg[/img]
> >
> > und ich deshalb Probleme mit der richtigen Anzeige der BBCodes habe.
> >
> > Wenn die Zahlen 336:252 fest wären könnte ich mein Problem ja so lösen:
> >
> > UPDATE phpbb_posts SET post_text = REPLACE(post_text, '[img:336:252]', '[img]')
> > WHERE post_text LIKE '%[img:336:252]%';
> >
> > was aber leider nicht der Fall ist. Gibt es eine Möglichkeit über Mysql diese variablen
> > Werte zu suchen und auszutauschen?
>
> Schon mal mit like '%[img:%:%]% versucht?
>
> Versuche es mal die Zeichenkette in Ihre Bestandteile per Substring zu zerlegen und per
> concat wieder zusammenzusetzen, evtl. mit einer dazwischen geschalteten temptabelle.
>
> Update .... set post_text = concat(substring(post_text,1,4),"]",substring(post_text,14))
>
> Prüf es vorher mit select ich habs einfach mal so hingeschrieben
>
>
>
> >
> > Vielen Dank schon einmal im vorraus für eine Antwort.
> >
>
>
> Mit freundlichen Grüßen
>
> Drießen
>
> --
> Software & Computer
> Uwe Drießen
> Lembergstraße 33
> 67824 Feilbingert
> Tel.: +49 06708 / 660045 Fax: +49 06708 / 661397
>
> _______________________________________________
> Allgemeine Infos zur Liste: http://www.4t2.com/mysql/
> Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de
>
_____________________________________________________________________
Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
http://smartsurfer.web.de/?mc=100071&distributionid=000000000066