Avatar billede j-johansen Nybegynder
20. september 2003 - 19:21 Der er 12 kommentarer og
1 løsning

Hjælp til str_replace

Kan man lave et script der gør sådan at noget kun bliver erstattet een gang? Altså sådan at hvis "you" bliver erstattet med "I" uden "I" bliver erstattet med "jeg"?

Og kan det laves sådan at "vil" ikke bliver erstattet så det ser sådan her ud: "vjegl"?

Håber I forstår :)
Avatar billede j-johansen Nybegynder
20. september 2003 - 19:23 #1
Det er ikke sådan det skal bruges, men det er nemmest beskrevet sådan...
Avatar billede ohmish Nybegynder
20. september 2003 - 19:27 #2
den første forstår jeg ikke helt

hvis man siger

$str = "I love you";
$str = str_replace("you", "I", $str);

det vil jo returnere "I love I";

I bliver ikke erstattet med "jeg"?
Avatar billede saudoo Nybegynder
20. september 2003 - 19:27 #3
hmm.. er det det samme som det at man skriver :D og så laver den en smiley ?
Avatar billede ohmish Nybegynder
20. september 2003 - 19:28 #4
det handler om rækkefølgen du erstatter i
Avatar billede ohmish Nybegynder
20. september 2003 - 19:29 #5
jeg er faktisk ikke helt med på hvad du mener i begge spørgsmål
Avatar billede tipsen Nybegynder
20. september 2003 - 19:31 #6
Hvis du først vil erstatte you med I og derefter I med jeg, kan du blot gøre sådan:

$str = str_replace(array('you', 'I'), array('I', 'jeg'), $str);
Avatar billede j-johansen Nybegynder
20. september 2003 - 19:34 #7
okay... vi starter med den sidste...
-------------
$str = "Vil"
$str = str_replace("i", "jeg", $str);
-------------
vil output være vjegl - det vil jeg gerne undgå sådan at den kun erstartter det hvis det står for sig selv og med den første ikke er blevet erstartter før...

Den første er hvis jeg nu bruger 2 str_replace's eller flere
------
$str = "I love you"
$str = str_replace("you", "i", $str);
$str = str_replace("i", "jeg", $str);
-----
kan man gøre sådan at den fx erstatter de erstattede ord med fx "<b>erstattet ord</b> og så få den til ikke at erstatte ord der er inde i <b> tags..?

Håber I forstår denne gang :)
Avatar billede j-johansen Nybegynder
20. september 2003 - 19:34 #8
tipsen -> Det er jo nettop det jeg gerne vil undgå...
Avatar billede j-johansen Nybegynder
20. september 2003 - 19:56 #9
Sletingen der kan se hvad jeg mener?
Avatar billede erikjacobsen Ekspert
20. september 2003 - 20:09 #10
$str = "Vil i?";
$str = preg_replace('/\bi\b/','jeg',$str);
Avatar billede detox Nybegynder
20. september 2003 - 20:52 #11
Du kunne lave mellemrum før og efter:

$str = "Vil"
$str = str_replace(" i ", " jeg ", $str);
Avatar billede tipsen Nybegynder
09. oktober 2003 - 14:04 #12
johansen: mit str_replace eksempel laver ikke dobbelt-substitutioner som du vist tror, men du kan til gengæld ikke fortælle str_replace at den kun skal erstatte hele ord.
Avatar billede j-johansen Nybegynder
19. oktober 2003 - 00:04 #13
lukker
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