web-dev-qa-db-fra.com

Convertissez les espaces en tirets et en minuscules avec PHP

J'ai essayé quelques méthodes longues mais je pense que je fais quelque chose de mal.

Voici mon code

<?php print strtolower($blob); ?>

Ce qui rend $blob minuscule, mais en plus j'ai besoin de tout espace dans $blob à supprimer et à remplacer par un tiret (-).

J'ai essayé ça, mais ça n'a pas marché

<?php print (str_replace(' ', '-', $string)strtolower($blob)); ?>

Puis-je accomplir tout cela sur une seule ligne?

21
caustic

Oui, passez simplement la valeur de retour de strtolower($blob) comme troisième argument de str_replace (où vous avez $string).

<?php print (str_replace(' ', '-', strtolower($blob))); ?>
48
Alexander O'Mara

Pour un retour à la ligne, vous pouvez utiliser la fonction dédiée wordwrap .

str_replace

documentation en ligne str_replace

<?php

$str = 'Convert spaces to dash and LowerCase with PHP';

echo str_replace(' ', '-', strtolower($str));
// return: convert-spaces-to-dash-and-lowercase-with-php

retour à la ligne

documentation en ligne wordwrap

$str = 'Convert spaces to dash and LowerCase with PHP';

echo wordwrap(strtolower($str), 1, '-', 0);
// return: convert-spaces-to-dash-and-lowercase-with-php

code en ligne: https://3v4l.org/keWGr

4
Nolwennig