Avatar billede mothail Nybegynder
30. juli 2005 - 16:27 Der er 11 kommentarer og
1 løsning

string replace.

Hejsa
Jeg har en streng ala:
[img:406c6d5572]http://domain.dk/upload/52/jp1.jpg[/img:406c6d5572]
Den vil jeg meget gerne have til at se ud som sådan:
http://domain.dk/upload/52/jp1.jpg

Men jeg kan simpelthen ikke hitte ud af hvordan. :-/

Indtil videre ser min kode sådan ud:
<?
$original = "[img:406c6d5572]http://domain.dk/upload/52/jp1.jpg[/img:406c6d5572]";

function badchar($var) {

$img = "[img";
$bad = "0123456789:abcdefghijklmopqrstuvwæøå";
for($i = 0; $i < strlen($bad); $i++) {
$var = str_replace($img.$bad[$i], $img, $var);

}

return $var;
}

echo "Original: " .$original."<br>";
$ny = badchar($original);
echo "Ny: " .$ny."<br>";
?>
Avatar billede mothail Nybegynder
30. juli 2005 - 16:40 #1
Det skal siges at strengen er unik per gang.
Avatar billede nielle Nybegynder
30. juli 2005 - 17:03 #2
Måske sådan?

$str = "[img:406c6d5572]http://domain.dk/upload/52/jp1.jpg[/img:406c6d5572]"
$str = preg_replace("/img:.*?\]/", "img]", $str);
Avatar billede mothail Nybegynder
30. juli 2005 - 17:09 #3
AAAARGH... Hvorfor skulle det dog være så simpelt? :P
Smid et svar ;)
Avatar billede mothail Nybegynder
30. juli 2005 - 17:17 #4
Hovsa.. Helt så hurtigt skulle det ikke gå :)
[color=green:ad866e8422]Belinda, - [/color:ad866e8422]
Her er et problem med color jo kan variere...
hvordan skal det så se ud?
Avatar billede nielle Nybegynder
30. juli 2005 - 17:24 #5
Og hvad skal:

[color=green:ad866e8422]Belinda, - [/color:ad866e8422]

- så helst ende med at blive?
Avatar billede nielle Nybegynder
30. juli 2005 - 17:27 #6
Måske sådan her:

$str = preg_replace("/\[(.?):.*?\]/", "[\1]", $str);

- eller sådan her:

$str = preg_replace("/:.*?\]/", "", $str);
Avatar billede mothail Nybegynder
30. juli 2005 - 17:34 #7
Det første har ingen effekt.
Det andet er lidt for effektivt.
[color=green:ad866e8422]Belinda, - [/color:ad866e8422]
skulle gerne blive til:
Belinda, -
Men den kan jo så variere til at være red, blue og en masse andre ukendte faktorer.
Avatar billede nielle Nybegynder
30. juli 2005 - 17:43 #8
Sådan!

$str = "[color=green:ad866e8422]Belinda, - [/color:ad866e8422]";
$str = preg_replace("/\:.*?\]/", "]", $str);
echo $str;
Avatar billede nielle Nybegynder
30. juli 2005 - 17:44 #9
...og uden den overflødige backslash:

preg_replace("/:.*?\]/", "]", $str);
Avatar billede mothail Nybegynder
30. juli 2005 - 17:50 #10
Kanont, smid et svar :)
Avatar billede nielle Nybegynder
30. juli 2005 - 17:55 #11
Svar :^)
Avatar billede mothail Nybegynder
30. juli 2005 - 18:08 #12
Tak for hjælp ;)
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