Avatar billede armhul1 Nybegynder
23. april 2010 - 16:58 Der er 5 kommentarer

Replace text vha SQL

Hejsa, jeg har et spørgsmål om hvordan jeg kan masseredigere text (replace) vha. SQL.

Det drejer sig om et hosted phpBB forum hvor jeg har fuld adgang til phpMyAdmin/MySQL.

Den text der skal ændres globalt:

www.domæne1.com -> domæne1.com

m.a.o., "www." skal fjernes i al tekst der hvor brugere har skrevet www.domæne1.com i deres posts (kun for dette domæne).

På forhånd tak.
Avatar billede arne_v Ekspert
23. april 2010 - 17:05 #1
UPDATE tabel SET felt = REPLACE(felt,'www.domæne1.com', 'domæne1.com')

burde virke (test inden du bruger det paa de rigtige data).
Avatar billede armhul1 Nybegynder
23. april 2010 - 17:28 #2
Jeg kørte lige den kommando nu. Det kører i SQL, men problemet er at forum scriptet ikke reagerer. Hellere ikke efter jeg har brugt forum kommando "purge the cache".

Er det fordi at eksisterende links er "parsed"?

"Word replacement" i forum script duer hellere ikke på eksisterende links (kun ved ny oprettet tekst)
Avatar billede public2 Nybegynder
23. april 2010 - 17:42 #3
Prøv med:

SELECT REPLACE(felt, 'www.domæne1.com', 'domæne1.com') FROM felt;

Ellers, hvis alle dine data i databasen er blevet rettet, så er det fint nok og så er det bare din browsers cache der skal flushes.

Og ellers så lav et lille PHP script til at gøre tricket.

Bare husk, at hvis du har mange data, så kan REPLACE være en meget langsom funktion.
Avatar billede armhul1 Nybegynder
23. april 2010 - 17:59 #4
Begge kommandoer virker hvis en bruger har skrevet http://www.domæne1.com lige ud.

Men det virker ikke på de eksisterende links der er "wrappet" med BBCode. Så det er åbenbart BBCodes MySQL ikke kan ændre. Måske skal der et PHP script til, ja, en mod?
Avatar billede arne_v Ekspert
13. juni 2010 - 04:33 #5
UPDATE bør være helt ligeglad med BBCode
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I dag 06:10 Excel åbner fil i kæmpe format Af Aske i Excel
I går 22:00 Datafordeler Af Lsk i PHP
I går 12:37 Summere beløb pr. dato Af TTA i Excel
31/1022:44 Tilslutte chassic fans Af viking69 i PC
31/1020:28 LED lysstofrør Af ErikHg i Fri debat