Avatar billede hf Nybegynder
21. december 2004 - 10:23 Der er 15 kommentarer og
1 løsning

Søg og erstat

Kan det lade sig gøre at lave et script, der gennemsøger en streng for alle forekomster af f.eks.:

teksta_x

og erstatter med:

teksta_x_tekstb

teksta og tekstb er konstante strenge og x er en variabel streng.

Eksempel:
teksta_123 skal blive til: teksta_123_tekstb
teksta_456 skal blive til: teksta_456_tekstb

Der skal altså tilføjes "tekstb" efter alle forekomster af "tekst_a_x"
Avatar billede wisen Nybegynder
21. december 2004 - 10:28 #1
du kan bruge regulære udtryk til at lave din Search & Replace : http://dk.php.net/function.ereg-replace
Avatar billede retep Nybegynder
21. december 2004 - 10:32 #2
Avatar billede detox Nybegynder
21. december 2004 - 10:33 #3
Fx:

$str = preg_replace("/\b(teksta_[\d]+)\b/", '$1_tekstb' ,$str);
Avatar billede Slettet bruger
21. december 2004 - 10:33 #4
Er det alle forekomster af teksta_[NOGET] der skal sættes _tekstb bagefter? Eller kun dem hvor x er et 3cifret tal?
Avatar billede Slettet bruger
21. december 2004 - 10:37 #5
eksempelvis:

<?php
$tekst = "teksta_456";
if (substr_count($tekst, "teksta_")) {
  $tekst .= "_tekstb";
}
?>

?
Avatar billede hf Nybegynder
21. december 2004 - 10:37 #6
>Wisen og >Retep:
Jeg søger et eksempel på et færdigt regulært udtryk.

>Gartzen:
Det er alle forekomster, hvor x er et tal fra 0 til 999999
Avatar billede hf Nybegynder
21. december 2004 - 10:42 #7
Eksempel:

Input:
Tietoa teksta_33 asunnon hankinnasta teksta_9, rahoituksesta ja teksta_100 eri

Output:
Tietoa teksta_33_tekstb asunnon hankinnasta teksta_9_tekstb, rahoituksesta ja teksta_100_tekstb eri
Avatar billede wisen Nybegynder
21. december 2004 - 10:53 #8
det må være noget i stil med :

$newStr = preg_replace('(teksta_\d+)\s', '\${1}_tekstb', $origStr)
Avatar billede hf Nybegynder
21. december 2004 - 11:06 #9
>Wisen:
Warning: preg_replace() [function.preg-replace]: Unknown modifier '\'
Avatar billede wisen Nybegynder
21. december 2004 - 11:10 #10
hmm - behøver jeg at skrive at jeg ikke har testet det ;)
Avatar billede hf Nybegynder
21. december 2004 - 12:37 #11
>Wisen: Har du nogle forslag til en rettelse?
Avatar billede detox Nybegynder
21. december 2004 - 12:40 #12
Har du testet mit forslag?
Avatar billede wisen Nybegynder
21. december 2004 - 12:40 #13
... ikke lige umiddelbart - jeg har desværre ikke noget hvor jeg kan komme til at teste det...
Avatar billede wisen Nybegynder
21. december 2004 - 12:41 #14
prøv evt. at lave <'> om til <">
Avatar billede hf Nybegynder
21. december 2004 - 13:13 #15
>detox: Dit forslag virker - jeg ved ikke hvorfor jeg ikke prøvede det først.

Smider du et svar?
Avatar billede detox Nybegynder
21. december 2004 - 13:16 #16
Jo, da.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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