26. november 2003 - 17:42Der er
12 kommentarer og 2 løsninger
Find and replace
Jeg har en kæmpe hjemmeside som jeg skal have opdateret til den nyeste php version. Jeg tænkte om det måske kunne lade sig gøre at rette den dårlige kode med "Find and replace" i et eller andet godt tekst-redigeringsprogram.
Jeg skal bl.a. have rettet alt hvor der står noget med $row[forskelligt] til $row['forskelligt']
Jeg har bare lidt svært ved at finde ud af hvordan det kan gøres smartest.
Man kan nemlig ikke replace sådan her:
Replace det her: [*.*]
Med: ['*.*']
*.* plejer at stå for alt, og nu da det ikke virker, ved jeg ikke hvordan det gøres. Håber I kan hjælpe mig???
jo du kan faktisk godt bygge videre på den ide og få det til at virke. men du skal bruge de regulære expressions korrekt. og uheldigvis har du valgt bogstaver der allesammen har en specil betydning:
[ og ] omkranser et udvalg af forskellige mulige bogstaver * betyder 'det foran skal dtå der 0 til såmange gange det skal være' . kender du allerede.
\ er escape, tegnet efter skal IKKE ses som specialtegn med som det tegn der står. ( og ) betyder "husk hvad vi fandt herimellem"
men pad på, for du kan ikke stole ret meget på den, der er fx steder hvor indexværdien bliver beregnet: $etarray[ 25 + (3/4) ]; ovenstående vil sætte ' og ' omkring $etarray[' 25 + (3/4) ']; og så duer den udregning overhovedet ikke
Der er også andre måder det kan gå galt, mange nok til at jeg vil fraråde dig at gøre det overhovedet.
Der findes nok nogle teksteditors / søge redskaber som understøtter regexp's
Men du kan ligeså godt bruge PHP til det...
Synes godt om
Slettet bruger
26. november 2003 - 20:02#6
Jeg vil anbefale at bruge en teksteditor med søg/erstat, således at du kan kontrollere alle steder om det skal erstattes. Brug JakobAs regexp til det.
Det er alt for bøvlet at skulle lave en regexp, der kan tage hensyn til alle de mulige kombinationer, hvor der ikke skal anførselstegn. Så tager det (selv med et stort projekt) kortere tid at svare ja/nej til editorens erstat-spørgsmål.
ja okay, men jeg føler mig stadig ikke vildt meget klogere end da jeg stillede spørgsmålet. kom lige med nogen svar så jeg kan give points. jeg giver ikke fuld point til nogen da jeg ikke føler at jeg har fået et helt klart svar på hvordan jeg skal gøre det.
Synes godt om
Slettet bruger
17. december 2003 - 00:04#13
Du skal have en editor, der understøtter rigtige regexps.
søg efter: \[(.+)\] erstat med: ['\\1']
Og lad være med at vælge "Ja til alle", men se efter, at den erstatter de rigtige steder.
Dette er bare en omskrivning af, hvad jakoba skrev 26/11-2003 18:03:56
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.