Beste leden,

Ik heb een functie die er vereenvoudigd als volgt uit ziet:

<?php
$var3 = 'een string met een '.$var5.' er in';
function replaceStr($var1, $var2, $var3){

   for($i=0;$i<$n;$i++){

     $var5 = eenanderefunctie($var4);

     $var7 = ($var1[$i] + ($i*strlen($var3)));

   }
return $var7;
}
?>


Hoe krijg ik $var5 in $var3?


alvast bedankt
Je kunt variabelen gewoon namen geven, hoor..

Overigens, [php]str_replace[/php](), is dat niet wat je zoekt?
Hoe krijg ik $var5 in $var3?

<?php
$var3 = $var5;
?>
Of bedoelde je dat niet?

Zo niet, probeer je vraag dan eens duidelijker te stellen, want ik snap er eerlijk gezegd weinig van...
De namen doen er niet toe nu. str_replace() is voor mijn doeleinde niet nodig.

Leg je functie eens wat meer uit, zo snappen we er allemaal niets van.
@Blanche: $var3 moet niet gelijk worden aan $var5. $var3 is dus een string met een variabele($var5) erin. $var5 varieer ik in de loop en bereken ik 1 regel boven de plaats waar ik $var3 nodig heb.

zo duidelijker? dacht dat ik al aardig eenvoudig het voorbeeld had opgezet..
Uit je functie return je nu alleen $var7. De $var5 die je daar aanmaakt zal dus nooit buiten de functie komen en daarom waarschijnlijk ook niet correct in die string komen te staan.

Verder snap ik nog steeds niet wat je nu precies probeert te bereiken...
:D hier dan toch maar de iets meer reƫle functie:

[code =php]<?php
//bij het aanroepen vd functie is
//$str de string waarin iets vervangen moet worden
//$old het met $new te vervangen
//$new is een string met daarin de var $color
//$colors een array met kleurtjes
//$pos_ar een array met daarin de locaties van $old in de string $str

function replaceStr($str, $old, $new, $colors){

$pos_ar = m_strpos($str, $old);//berekend string posities in $str

$nrOf = count($pos_ar);
$len = strlen($str);
$shift = strlen($old);

for($i=0;$i<$nrOf;$i++){
$color = pickColor($colors, $i);
$pos = ($pos_ar[$i] + ($i*strlen($new)))-$shift*$i;
$len = strlen($str);//new string length
$correction = ($pos+$shift)-$len;
$str = substr_replace($str, $new, $pos, $correction);

}

return $str;
}
?>[/code]

$new kan de bv de waarde '<a style="background-color:'.$color.';"'; hebben.
en $old '<a'

Wat ik met de functie wil is de output (een navigatie lijst die door een wordpress functie word gemaakt) dynamisch veranderen.



Reageren