HTML beginner |
|
Kheb een klein probleemke met een tag die ik wil gebruiken in een ubb functie. Elke keer dat die bepaalde tag geparsed wordt moet er een random string meegegeven worden. Dus twee keer dezelfde string mag niet voorkomen. Dit lukt mij niet in een functie.
<?
function functie($output) {
$output = eregi_replace("\\[tag=([^\\[]*)\\]([^\\[]*)\\[/tag\\]","<a href=\"_RANDOM_">\\1</a><br /><div id=\"_RANDOM_" style=\"display:none\">\\2</div>",$output);
return $output;
}
<? function functie($output) { $output = eregi_replace("\\[tag=([^\\[]*)\\]([^\\[]*)\\[/tag\\]","<a href=\"_RANDOM_">\\ 1</a ><br /><div id =\ "_RANDOM_" style =\ "display:none\">\\2</div>",$output); return $output; }
Bon, het lukt dus niet om een een random string aan te maken in de functie zelf, want als er nog een tag parse is gebruikt hij dezelfde eerder gemaakte string:
<?
$_RANDOM_ = MakeRandomString(); // marcheert dus niet
?>
<? $_RANDOM_ = MakeRandomString(); // marcheert dus niet ?>
Dan maar proberen door een random string in de reg ex zelf, krijg ik een maximum execution error, dus dat lukt ook niet.
Misschien is een oplossing door met $i bij te houden hoeveel keer de functie geloopt wordt ($i++) en dan de random string aan te passed ($_RANDOM_ = $_RANDOM_ . $i;), maar dan moet ik alle oproepen van die functie op mijn site veranderen, en weet ik nog altijd niet zeker of het werkt.
Iemand met een praktische oplossing?
|