[PHP] Foto's netjes in content laden

Pagina: 1
Acties:

Onderwerpen


Anoniem: 107593

Topicstarter
Ik ben niet al te behendig met PHP, dus ik zit met het volgende probleem.

Situatie
Content wordt naar een MySQL database weggeschreven. Bij uitlezen, moet deze netjes worden weergegeven in het daarvoor bestemde gebied. aan de had van preg_replace wordt o.a. [b] naar een STRONG-tag vertaald. Geen problemen aldaar.

Probleem
Nu wil ik echter ook [img=$foto]$onderschrift[/img] via de functie photo($foto, $onderschrift) laten verwerken. De foto's worden namelijk in een leuk kader geplaatst. Vandaar dat een eenvoudige IMG-tag niet genoeg is. Via een preg_replace krijg ik dit echter niet voor elkaar.

Zodoende heb ik de impressie dat ik het verkeerd aanpak. Iemand een idee?

  • DemonTPx
  • Registratie: December 2002
  • Laatst online: 09-04 10:49
zoiets?
PHP:
1
$regex = "/\[img(=[^\]+)]([^\[]+)\[\/img\]/";

Anoniem: 107593

Topicstarter
DemonTPx schreef op donderdag 31 augustus 2006 @ 14:43:
zoiets?
PHP:
1
$regex = "/\[img(=[^\]+)]([^\[]+)\[\/img\]/";
Maar ik wilde juist dat de bovengenoemde functie dit zou afhandelen. De juiste layout moet immers worden toegepast!

  • DemonTPx
  • Registratie: December 2002
  • Laatst online: 09-04 10:49
PHP:
1
2
$regex = "/\[img(=[^\]+)]([^\[]+)\[\/img\]/";
preg_replace($regex, photo("\\1", "\\2"), $tekst);


En dan moet je er voor zorgen dat photo de goede troep returned (niet printen dus!)

Anoniem: 107593

Topicstarter
DemonTPx schreef op donderdag 31 augustus 2006 @ 15:09:
PHP:
1
2
$regex = "/\[img(=[^\]+)]([^\[]+)\[\/img\]/";
preg_replace($regex, photo("\\1", "\\2"), $tekst);


En dan moet je er voor zorgen dat photo de goede troep returned (niet printen dus!)
Sorry, maar ik ben echt een beginner. De preg_replace roept nu dus inderdaad de functie aan, maar in de HTML staat op de plaats van de bron "\1" en op de plaats van het onderschrift "\2" ipv respectievelijk "023" en "testtekst".
De functie photo bestaat slechts uit wat HTML. Hoe moet ik er voor zorgen dat ik die niet 'print'?

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 18-06 21:59

--MeAngry--

aka Qonstrukt

Anoniem: 107593 schreef op donderdag 31 augustus 2006 @ 16:08:
[...]

Sorry, maar ik ben echt een beginner. De preg_replace roept nu dus inderdaad de functie aan, maar in de HTML staat op de plaats van de bron "\1" en op de plaats van het onderschrift "\2" ipv respectievelijk "023" en "testtekst".
De functie photo bestaat slechts uit wat HTML. Hoe moet ik er voor zorgen dat ik die niet 'print'?
Tijd om eens de PHP manual door te gaan lezen? ;) Wat dacht je van return? :)

Tesla Model Y RWD (2024)


Anoniem: 76570

Wat dacht je van de manual eens te bekijken? preg_replace kan dit icm de /e modifier, en preg_replace_callback kan het natuurlijk sowieso met een custom functie.

Acties:
  • 0 Henk 'm!

  • DemonTPx
  • Registratie: December 2002
  • Laatst online: 09-04 10:49
Anoniem: 107593 schreef op donderdag 31 augustus 2006 @ 16:08:
[...]

Sorry, maar ik ben echt een beginner. De preg_replace roept nu dus inderdaad de functie aan, maar in de HTML staat op de plaats van de bron "\1" en op de plaats van het onderschrift "\2" ipv respectievelijk "023" en "testtekst".
De functie photo bestaat slechts uit wat HTML. Hoe moet ik er voor zorgen dat ik die niet 'print'?
PHP:
1
2
3
4
5
6
// Als je je functie ongeveer zo maakt, dan moet het goed gaan:
function photo($foto, $onderschrift) {
    $ret = "<div class=\"foto\"><img src=\"$fofo\" alt=\"$onderschrift\">\n";
    $ret .= "<div class=\"onderschrift\">$onderschrift</div></div>\n";
    return $ret;
}

Acties:
  • 0 Henk 'm!

Anoniem: 107593

Topicstarter
Bedankt, in het bijzonder DemonTPx, met jouw tips ben ik er helemaal uitgekomen!

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 12:18

NMe

Quia Ego Sic Dico.

Waarom heb je hier überhaupt een losse functie voor nodig? Het zijn toch statische strings, waarin alleen een aantal waarden ingevuld hoeft te worden? Dat kan toch prima zonder een callback? :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1