Avatar billede morgan_freeman Nybegynder
10. januar 2006 - 13:04 Der er 25 kommentarer og
1 løsning

Ændre/erstatte NÆSTEN éns tekstblokke i et hug?

SÅ! Nu kan i score lidt p og spare mig for dagevis af (idiotisk) slavearbejde i fremtiden.

Er der nogen der kender en metode til at ændre/erstatte alle forekomster af en given type tekst (eg. hyperlinks til samme fotoalbum) som ikke er identiske (eg. forskellig fotos i albummet).

lad os sige der står:
<a href="06_01-06.1.59__21.08.jpg">
(....)
<a href="06_01-06.1.59__21.12.jpg">

Disse - og alle dem der ligner - skal ændres til en fast tekst (eg. <a href="out of order.htm">)

Og erstatningskoden skal så baseres på en eller anden wildCard funktion (eg. replace <a href="06_01-06.1.59__****"> with <a href="out of order.htm">). Men kan det lade sig gøre?

Der er 2 forbehold: Det må ikke koste noget (nævneværdigt) OG det må ikke ende med at tage længere tid (efter en intro-fase om nødvendigt).

Glæder mig til eksperternes dom
Avatar billede skelboe Nybegynder
10. januar 2006 - 13:14 #1
Det kan vidst ikke lade sig gøre i html
Avatar billede morgan_freeman Nybegynder
10. januar 2006 - 14:30 #2
skelboe>> det lyder som om det kan lade sig gøre andre steder? I givet fald, hvilke?

Hvis noget med at kopiere hele indholdet ind i et alternativt format kan virke, så er det absolut en vej frem... det her er noget jeg kommer til at bruge oceaner af tid på - så bare fyr løs :-)
Avatar billede skelboe Nybegynder
10. januar 2006 - 14:40 #3
Du skal nok bruge ASP eller PHP til det.
Men er det almindelig html kode du bare har skrevet eller skal det forstille udtræk fra en database
Avatar billede morgan_freeman Nybegynder
10. januar 2006 - 14:46 #4
Det ligger som ren HTML - i hvert fald de dele jeg får brug for at redigere. Med mit nuværende PHP-knowHow er det ikke vildt realistisk, at jeg skulle kunne scripte mig ud af det, men man ved aldrig. ASP er totalt uudforsket, så det er endnu længere væk.
Avatar billede skelboe Nybegynder
10. januar 2006 - 15:06 #5
Hvis det er html sider er der jo ikke nogen dynamisk måde at gøre det på (ved ikke med java), så du bliver nok nødt til at gøre det ved håndkraft
Avatar billede morgan_freeman Nybegynder
10. januar 2006 - 18:05 #6
Tror jeg havde forestillet mig - og gør det for så vidt endnu - at der ku' findes en tekst-editor (ala Word) som ville kunne gøre det. Men det er muligvis for optimistisk.
Bare provokerende, da både Dreamweaver, Word og endda Frontpage kan søge efter forekomster af gentagne tekstenheder - og kan erstatte i et hug. Der mangler "bare" wildCard funktionen.
Avatar billede olebole Juniormester
10. januar 2006 - 22:18 #7
<ole>

Nu sidder jeg ikke lige med en DW her, men jeg mener da, den kan søge og erstatte med mønstre. Min Homesite editor kan - og det mener jeg, de fleste seriøse editors kan. Problemet er naturligvis så, at du skal kunne RegExp (regulære udtryk).

Hvis du kan opstille specifikke regler for, hvad du mener med 'alle dem, der ligner', kan jeg eller en anden godt skrive en RegExp, du kan bruge  :)

/mvh
</bole>
Avatar billede morgan_freeman Nybegynder
11. januar 2006 - 00:42 #8
Hej olebole

Det kunne godt ligne vejen til point. Har tjekket DW og der er mulighed for find'n'replace med "UseRegularExpressions". Så er der altså fornyet håb.

Det er ikke helt let at vurdere hvad 'specifikke regler' indebærer (endnu), men hvis du kunne lave en RegExp som løser lige dét ovenstående (fotoalbum) problem, kan jeg i mellemtiden prøve at finde lidt info om RegExp. Så kan jeg måske selv udvikle din løsning med tiden.

Glæder mig meget til at høre mere.
Avatar billede olebole Juniormester
11. januar 2006 - 01:16 #9
Hehe ... der var jeg vist lidt rapkæftet. Det viser sig, at i hvert fald Homesite bruger en speciel type RegExp ... jeg ved ikke, hvordan det ligger med DW.

Hvis din server understøtter PHP, kan jeg skrive et PHP-script til dig, der åbner alle filer i en mappe - retter de ønskede links - og gemmer filerne igen. Så kunne du jo have en 'fix_links'-mappe, du midlertidigt kan smide filer i og 'reparere' dem.

Er det noget, du kan bruge?
Avatar billede morgan_freeman Nybegynder
11. januar 2006 - 01:33 #10
Hmmm. Tygger lige på det - har 2 unger der står op ca. 06:11 - så jeg skal like ha' lidt lukøje. Tjekker ind imorgen. PHP over server måske ikke umuligt (understøttes, yep) men det er ikke oplagt af flere grunde... men jeg tygger på det.

Godnat i cyberspace (DAMN! Man er blevet gammel når man stadig bærer rundt på det begreb :-) )
Avatar billede rednex Nybegynder
11. januar 2006 - 02:34 #11
olebole > Jeg sidder med en Drømmevæver 8, og så vidt jeg kan se benytter den standard POSIX regex format (svarende til PHP's ereg). Der bruges $1, $2 osv i replace feltet til at indsætte matches.
Avatar billede rednex Nybegynder
11. januar 2006 - 02:42 #12
Damn den er smart. Den har gudhjælpemig en replace funktion til at erstatte indholdet af bestemte atributter i bestemte tags. Så skal man kun finde på et regex der matcher filnavnet :o)
Avatar billede morgan_freeman Nybegynder
11. januar 2006 - 10:44 #13
rednex + olebole >>
Det bliver jo bedre og bedre.

Hvis det kan forklares for tilfældet overfor <a href="06_01-06.1.59__21.08.jpg"> - hvor der er gentagne poster der varierer over det samme tema <a href="06_01-06.1.59__"X""X"."X""X".jpg"> - så er jeg en glad campist.
Avatar billede rednex Nybegynder
11. januar 2006 - 11:33 #14
Et billede siger mere end 1000 ord :o)
http://exp.tgltech.dk/678389/screenshot.jpg

Udtrykket du skal søge efter er:
06_01-06\.1\.59__\d{2}\.\d{2}

En lille forklaring er nok på sin plads. I regex betyder punktum (uden backslash foran) at den matcher et hvilket som helst tegn. Derfor er punktummerne "escapet" med backslash (\). For at matche et 2-cifret tal bruger jeg udtrykket \d{2}. \d betyder at den leder efter et tal, og det efterfølgende {2} fortæller at der skal være 2 af dem.
Avatar billede morgan_freeman Nybegynder
11. januar 2006 - 14:12 #15
Der er point og LYKKE i luften.

Tester det MEGET snart, men kast et svar på banen og så vender jeg tilbage med pointTildeling.

olebole (og rednex, for så vidt)> ved ikke om du er point-hungrende, men jeg skal gerne bruge 5 minutter på god karma - men det forekommer mig, at der er mange eksperten brugere der går mere op i problemløsning end point/karma?
Avatar billede rednex Nybegynder
11. januar 2006 - 14:25 #16
For mit vedkommende betyder point ikke så meget, så vi kan jo nok finde ud af at dele :o)

Karma synes jeg siger mere da det jo er "ekstra arbejde", og jeg bilder mig ind at det siger mere om hvor glad (eller sur) spørgeren er for det svar han har modtaget.

Men i sidste ende, så er det vigtigste vel at problemet bliver løst :o)
Avatar billede morgan_freeman Nybegynder
12. januar 2006 - 10:38 #17
Det virker jo. Og jeg tror jeg er ved at ha' luret systemet - en udemærket (help-) oversigt over regExp's i Dreamweaver MX... der selvfølgelig har en irriterende anderledes Find/Replace-menu end rednex' DM8 http://exp.tgltech.dk/678389/screenshot.jpg.

Point ryger afsted hér - og god karma distrubueres snarligt
Avatar billede morgan_freeman Nybegynder
12. januar 2006 - 10:39 #18
Ups... der skulle stå distr>>i<<bueres!
Avatar billede rednex Nybegynder
12. januar 2006 - 12:54 #19
Hehe, tak for point :o)

Når først man har gennemskuet syntax i regex, så kan man ikke andet end at elske det :o) Det kan tit spare en for en masse slavearbejde.
Avatar billede olebole Juniormester
12. januar 2006 - 20:05 #20
Sorry, jeg har været lidt fraværende, men jeg har haft travlt med andre ting  :)

Problemet er, at der er flere forskellige slags RegExp med forskellig syntaks - og POSIX-typen bruger jeg f.eks. aldrig. For det første slæber POSIX gevaldigt med fødderne under PHP (her performer Perl-RegExp langt bedre) - og da man også bruger Perl's syntaks under JavaScript, JScript og VB - tja såååhhh ......  ;o)
Avatar billede olebole Juniormester
12. januar 2006 - 22:07 #21
Hehe ... resultatet blev, at jeg har skrevet et lille (7 kb med interface und alles) JScript-program, der kan søge/erstatte med Perl-RegExp i udvalgte filer i en mappe - oprette en ny mappe '__Replaced Files__' og gemme de rettede filer heri  :)
Avatar billede morgan_freeman Nybegynder
12. januar 2006 - 23:42 #22
olebole >>
Hvaffor noget? Det lyder spændende?
Avatar billede morgan_freeman Nybegynder
12. januar 2006 - 23:45 #23
OBS. Jeg skynder mig lige at rette min egen kommentar [12/01-2006 10:38:17] :
DM_MX-Find/Replace-interface ER det samme, men først når man har valgt at søge på "specific tag"
Avatar billede olebole Juniormester
13. januar 2006 - 01:05 #24
Hehe ... ja, det er ikke helt kedeligt  :)
Normalt kan man ikke få JScript/JavaScript til at tilgå filSystemObjektet fra et alm. webdokument. Det kan derimod lykkes fra en HTA (HyperText Application), som er en special instans af IE - men med andre sikkerheds indstillinger. Samtidig ligner den til forveksling en ganske almindelig Windows applikation. Referencen ligger her:
    http://msdn.microsoft.com/library/default.asp?url=/workshop/author/hta/hta_node_entry.asp

Desværre/heldigvis vil bl.a. Norton AntiVirus nægte ethvert JScript at tilgå filSystemObjektet ... også fra en HTA. Dog kan man 'lære' NAV, at den skal tillade et bestemt script - men det kan i visse situationer være besværligt.
Jeg kender til gengæld et lille 'stealth-trick', så man kan 'snige sig under' NAV fra en HTA - men den vil jeg af gode grunde ikke hænge op her  ;o)
Er du (og ikke andre) interesseret i en kopi, kan du lægge din e-mail-adresse, så skal jeg sende dig en.
Avatar billede morgan_freeman Nybegynder
13. januar 2006 - 15:57 #25
Tror lige jeg står af hér. Som udgangspunkt virker løsningen via Dreamweaver - og jeg er PHP/MySQL/javascript-pseudo-rookie (ENDNU!) - så det varer lige lidt før NAV, HTA og andre lækkerier kommer på dagsordenen.

Men måske du - eller andre - kan forklare mig hvad jeg skal gøre (i Dreamweaver dialogen) hvis jeg vil bruge RegExp og der indgår backslash'es (eg. <a href="pictures/06_01-06.1.59__21.08.jpg">) i de tekst-forekomster jeg vil ændre?
Avatar billede olebole Juniormester
13. januar 2006 - 20:43 #26
Hehe ... det er nu en slash - og ikke en backslash  ;o)
Det er ret vigtigt med den forskel, da en slash (ligesom et punktum) skal escapes med en backslash i RegExp:
    pictures\/\d{2} ... osv, osv  :)
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
Kurser inden for grundlæggende programmering

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