Vraag & Antwoord

Webprogrammeren & scripting

navigatie

Anoniem
scriptsnet
4 antwoorden
  • ik ben bezig met een navigatie waar je met de bb code [pagina=titel] in de navigatie kunt neerzetten hoe de pagina heet.

    Het lukt me wel om dat op te lossen met explode, maar dan is het alleen [pagina]

    [code:1:6e8f0ae6f4]<?
    $artikel = "hoi, ik ben een artikel[pagina=stap2]ik ben de volgende pagina[pagina=stap3]ik ook :P[pagina=stap4]ik ben de allerlaatste";

    $bericht = ereg_replace("\[pagina=(.*)\]", "//1", $artikel);

    echo $bericht[1];
    ?>[/code:1:6e8f0ae6f4]

    Dit stukje werkt ook niet echt zoals ik het wil, weet iemand hoe ik het wel werkend krijg?

    alvast bedankt
  • Het is "\\1" in plaats van "//1"…
  • maar dan werkt het nog nie.

    ik wil zoiets maken dat als je zoiets post:

    hoi, ik ben een artikel
    [pagina=stap 2]
    ik ben de volgende pagina
    [pagina=stap 3]
    ik ben de allerlaatste

    dat er zoiets in een array komt

    "stap 2", "stap 3"

    zelf zat ik te denken aan een for loop, maar het lukt me niet echt :(

    [edit]

    owja, dit heb ik er van gebakken

    [code:1:c66cb7d927]
    $artikel = "hoi, ik ben een artikel[pagina=stap2]ik ben de volgende pagina[pagina=stap3]ik ook :P[pagina=stap4]ik ben de allerlaatste";

    $bericht = ereg_replace("(.*)(\[pagina=)(.*)(\])(.*)", "\\3", $artikel);

    echo $bericht;
    [/code:1:c66cb7d927]

    hij echo-oot dan stap4 (wat ook eigenlijk logisch is)
  • Als je meteen de gevonden patterns wil vervangen kan je onderstaande doen:
    [code:1:1fc8600634]
    $bericht = preg_replace('/\[pagina=(.*?)\]/', '\\1', $artikel);
    [/code:1:1fc8600634]
    Als je een array terug wil krijgen met de gevonden patterns gebruik je bijv.:
    [code:1:1fc8600634]
    preg_match_all('/\[pagina=(.*?)\]/', $artikel, $array);
    [/code:1:1fc8600634]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.