Avatar billede michael_stim Ekspert
14. januar 2015 - 16:45 Der er 8 kommentarer og
1 løsning

Preg_replace

Hvordan ville en regex se ud, hvis man skulle erstatte evt. 0046 ud med et 0?
$string = '0046707123456'
$pattern = ?
preg_replace($pattern, '0', $string);
Avatar billede michael_stim Ekspert
14. januar 2015 - 16:50 #1
OBS. Det er kun hvis det er de 4 förste der er 0046.
Avatar billede arne_v Ekspert
14. januar 2015 - 17:08 #2
erstat

^0046(.*)

med

0$1

?
Avatar billede arne_v Ekspert
14. januar 2015 - 17:09 #3
eller goer det med str fremfor regex
Avatar billede michael_stim Ekspert
14. januar 2015 - 19:22 #4
Som i #1

0046777777 eller
0046123456

Skal blive

0777777 eller
0123456

men hvis det er 0777777 skal det forblive uændret.
Avatar billede arne_v Ekspert
14. januar 2015 - 19:36 #5
Ja.

Virker forslaget i #2 ikke som det?
Avatar billede arne_v Ekspert
15. januar 2015 - 02:04 #6
Demo:

<?php
function xreplace($s) {
    return preg_replace('/^0046(.*)/', '0$1', $s);
}

echo xreplace('0046777777') . "\r\n";
echo xreplace('0046123456') . "\r\n";
echo xreplace('0777777') . "\r\n";
echo xreplace('00046777777') . "\r\n";
?>
Avatar billede michael_stim Ekspert
15. januar 2015 - 08:17 #7
Tak Arne, har ikke haft tid til at teste det endnu, men kommer det fra dig er jeg ikke i tvivl om at det fungerer, så läg et svar.
Avatar billede arne_v Ekspert
16. januar 2015 - 02:14 #8
Koden er testet og giver det som jeg *tror* at du oensker.

Men en ting en min tro noget andet er hvad du faktisk oensker.

Men et svar.
Avatar billede michael_stim Ekspert
16. januar 2015 - 09:19 #9
Har testet og din tro var rigtig. Tak for hjälpen.
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