par
Cobra52 » 22 déc. 2009, 18:24
Bonjour,
Est-ce qu'une solution de ce type ne pourrait pas convenir ?
function remplace($captures)
{
$retour='';
for ($i=1;$i<count($captures);$i++) {
if (strlen($captures[$i])>3) $retour .= $captures[$i];
}
return $retour;
}
$phrase = "Je souhaite retirer les mots de moins de 4 lettres dans des phrases.";
echo preg_replace_callback('/(\w+)/', 'remplace', $phrase);
Fred
Oui, si l'on m'aide à l'intégrer

Voici ce que j'ai dans un fichier :
function rewrite_mod($name)
{
$name = eregi_replace("-(.{1,4}-)+|^(.{1,4}-)+|(-.{1,4})+$", "-", $name);
return($name);
}
et dans un autre :
$tpl->set_blocks('cat', array(
'CAT_ID' => $forum['f_id'],
'NAME' => htmlspecialchars($last_cat['f_name']),
/* Rewrite */
'U_CAT' => sid($this->rewrite_mod($last_cat['f_name']) . '-cat_' . $last_cat['f_id'] . '.html'),
));
Merci

[quote="micetf"]Bonjour,
Est-ce qu'une solution de ce type ne pourrait pas convenir ?
[php]
function remplace($captures)
{
$retour='';
for ($i=1;$i<count($captures);$i++) {
if (strlen($captures[$i])>3) $retour .= $captures[$i];
}
return $retour;
}
$phrase = "Je souhaite retirer les mots de moins de 4 lettres dans des phrases.";
echo preg_replace_callback('/(\w+)/', 'remplace', $phrase);
[/php]
Fred[/quote]
Oui, si l'on m'aide à l'intégrer :)
Voici ce que j'ai dans un fichier :
[php]
function rewrite_mod($name)
{
$name = eregi_replace("-(.{1,4}-)+|^(.{1,4}-)+|(-.{1,4})+$", "-", $name);
return($name);
}
[/php]
et dans un autre :
[php]
$tpl->set_blocks('cat', array(
'CAT_ID' => $forum['f_id'],
'NAME' => htmlspecialchars($last_cat['f_name']),
/* Rewrite */
'U_CAT' => sid($this->rewrite_mod($last_cat['f_name']) . '-cat_' . $last_cat['f_id'] . '.html'),
));
[/php]
Merci :)