C'est pas très compliqué de construire une fonction qui en PHP3 remplacera str_repeat() et str_pad(). Maintenant faut voir ce que tu as vraiment à traiter. Comment sont structurées tes chaînes ?
::------ Pour le str_repeat :
en PHP4 : str_repeat (string input, int multiplier);
en PHP3 :
function php3str_repeat($input,$multiplier)
{
$output="";
for($i=0;$i<$multiplier;$i++)
{
$output=$output.$input;
}
return $output;
}
::------ Pour le str_pad :
je viens de te bricoler une chtite fonction, c'est pas optimisé mais c'est un début (pour toi la suite). J'oubliais, tu ne peux mettre qu'un caractère dans "$pad_string", sinon la longueur totale de la chaîne ne sera pas respectée.
function php3str_pad($input,$pad_length,$pad_string,$pad_type)
{
if(strlen($input)>=$pad_length)
{
$output=$input;
}
else
{
$output=$input;
$compl = $pad_length-strlen(input);
switch($pad_type)
{
case "pad_right":
for($i=0;$i<$compl;$i++)
{
$output=$output.$pad_string;
}
break;
case "pad_left":
for($i=0;$i<$compl;$i++)
{
$output=$pad_string.$output;
}
break;
case "pad_both":
$compl_left = floor($compl / 2); //aroundi int inférieur, ceil()->sup;
$compl_right = $compl - $compl_left;
for($i=0;$i<$compl_left;$i++)
{
$output=$output.$pad_string;
}
for($i=0;$i<$compl_right;$i++)
{
$output=$pad_string.$output;
}
break;
}
}
return $output;
}
echo php3str_pad("Paris",15,"X","pad_left" );
@+