Het onderwerp klopt: ik wil een string vervangen DOOR een functie (niet met een functie). In grote lijnen: ik heb een lange string, waarin ik een korte string zoek en die vervolgens vervang door een functie (met als parameter de korte string zelf). Daarna toon ik lange string weer.
Code tot zover:
<?php
function stripSection($string)
{
preg_match_all("|<section>(.*)</section>|U",$string,$out, PREG_PATTERN_ORDER);
foreach ($out[0] as $key => $value)
{
//echo $value;
$sectionid = substr($value,9,-10);
$string = str_replace($value,"<span>delete(".$sectionid.")</span>".getInhoud($sectionid)."<br />",$string);
}
echo $string;
}
function getInhoud($value)
{
echo "dit is de inhoud van $value";
}
stripSection("xxx<section>1</section>yyy<section>2</section>zzz");
?>
De stripSection functie werkt prima, alleen doet hij EERST een replacement met getInhoud (dus ook uitvoeren daarvan) van ALLE keren dat hij de korte string tegenkomt en vervolgens pas een replacement van de korte string zelf. Ik wil het netjes chronologisch...
Wie het weet mag het zeggen... Ik sta (heel erg!) open voor manieren waarop dit mooier kan overigens....
Groet,
Cees
163 views