Je préfère jquery.Comment créer une liste Ul à partir d'une chaîne?
Disons que j'ai une chaîne avec,
adam, lisa, john, sarah
et je veux les transformer en:
<ul><li>Adam</li><li>lisa</li><li>john</li><li>sarah</li></ul>
Je préfère jquery.Comment créer une liste Ul à partir d'une chaîne?
Disons que j'ai une chaîne avec,
adam, lisa, john, sarah
et je veux les transformer en:
<ul><li>Adam</li><li>lisa</li><li>john</li><li>sarah</li></ul>
"<ul><li>" + "adam, lisa, john, sarah".split(", ").join("</li><li>") + "</li></ul>"
[Modifier :] J'ai supposé javascript depuis que vous avez mentionné jQuery. Je ne connais pas la meilleure façon de le faire en PHP, mais vous faites la même chose que ci-dessus en utilisant preg_split
et implode
en PHP.
comment l'implémenter dans un fichier html/php? – neotorama
Pour le faire en PHP, exploser la chaîne pour en faire un tableau, puis utiliser array_map pour convertir chaque élément à une balise li. Une fois cela fait imploser pour obtenir le résultat souhaité:
$items = explode(",", "adam,lisa,john,sarah");
array_map("makeLiTag", $items);
echo("<ul>" . implode("", $items) . "</ul>");
function makeLiTag(&$item, $key)
{
$item = "<li>$item</li>";
}
Je pense que vous devrez peut-être mettre la fonction de rappel en premier argument? array_map ('makeLiTag', $ items); – Stoosh
@Stoosh: vous avez raison, merci. –
Ou vous pourriez faire exploser et foreach:
$array = explode(', ','adam, lisa, john, sarah');
foreach ($array as $name) {
$output .= '<li>' . $name . '</li>';
}
echo '<ul>' . $output . '</ul>';
Peut-être un peu plus simple.
EDIT: Encore plus facile serait un str_replace régulier.
$list = '<ul><li>' . str_replace(', ','</li><li>','adam, lisa, john, sarah') . '</li></ul>';
echo $list;
veuillez clarifier la question, vous voulez cette sortie à la page? est-ce que jQuery gère cette chaîne? Ou est-ce que PHP le fait? – Jakub