Avatar billede jm0 Nybegynder
15. august 2004 - 19:49 Der er 10 kommentarer og
1 løsning

[galleri:test.jpg] skal vise et billede

Hvordan gør jeg så php laver  [galleri:test.jpg] om til fx. <img src="galleri/test.jpg">?
Avatar billede x4all_dk Nybegynder
15. august 2004 - 19:57 #1
Jeg har ikke koden til det men følgende pseudokode vil virke:

Du kan løbe Stringen a = "[galleri:test.jpg]" igennem.
Fjern s[0].
$sti = Læs a indtil a[i]=":"
Så har du stien.
$billed = læs videre indtil a[j]="]"
så har du billed navn.

Så kan du echo "<IMG src='".$sti."\".$billed.">";
Avatar billede x4all_dk Nybegynder
15. august 2004 - 20:02 #2
Du kan bruge en StrinTokenizer til at splitte strengen op.

http://dk.php.net/manual/en/function.strtok.php
Avatar billede jakobdo Ekspert
15. august 2004 - 20:10 #3
Du kan evt bruge denne kode:

<?
$a = "[galleri:test.jpg]";
$pos = strpos($a,":");
echo "<img src=\"".str_replace("[","",substr($a,0,$pos))."/".str_replace("]","",substr($a,$pos+1))."\">";
?>
Avatar billede jm0 Nybegynder
15. august 2004 - 20:12 #4
Galleri er bare en "kommando" som betyder at den skal kigge i galleriet. Så det er kun "test.jpg" jeg skal have hevet ud, Men det skal samtidig gøres pænt fordi den skal køre sammen med dem her:
$profiltext = str_replace("::)","<img src=\"images/smileys/taenker.gif\">", $profiltext);
$profiltext = str_replace(":)","<img src=\"images/smileys/glad.gif\" alt=\":)\">", $profiltext);
$profiltext = str_replace(";)","<img src=\"images/smileys/blink.gif\" alt=\";)\">", $profiltext);
Avatar billede jm0 Nybegynder
15. august 2004 - 20:30 #5
Altså, galleri er ikke en sti, [galleri:pic.jpg] kunne godt pege på /fotobilleder_ferie2004/pic.jpg
Avatar billede jakobdo Ekspert
15. august 2004 - 20:38 #6
Hvad så noget i stil med:

<?
$a = "[galleri:test.jpg]";
$pos = strpos($a,":");
$imagePath = "gallery"; //Eller fotobilleder_ferie2004
$command = str_replace("[","",substr($a,0,$pos));
if ($command == "galleri")
    echo "<img src=\"$imagePath/".str_replace("]","",substr($a,$pos+1))."\">";
?>
Avatar billede jm0 Nybegynder
15. august 2004 - 20:47 #7
jakobdo >
Virker det også hvis jeg har en stor liste? Fx. med "Hej med jer [galleri:lol.jpg] Her er mig på ferie: [galleri:hihi.php] osv.?
Avatar billede jakobdo Ekspert
15. august 2004 - 20:58 #8
Det vil det ikke virke på nej!
Tror du skal bruge en REGEX løsning... Lad mig lige kigge lidt på det...
Avatar billede jm0 Nybegynder
15. august 2004 - 21:32 #9
jakobdo >
Helt iorden :). Forhøjer lige til 200.
Avatar billede coderdk Praktikant
15. august 2004 - 22:02 #10
$nytekst = preg_replace( "/\[galleri:([^\]]+?\]/i", '<img src="galleri/\\1">', $dintext );
Avatar billede coderdk Praktikant
15. august 2004 - 22:03 #11
doh! Her:

$nytekst = preg_replace( "/\[galleri:(.+?)\]/i", '<img src="galleri/\\1">', $dintext );
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