Vriendelijke string voor functie
Loek Lemmens
12/01/2021 21:36:26Hallo,
Voor javascript functie wil ik graag een vriendelijke string retourneren vanuit PHP.
Ik ben al aan het stoeien geweest maar zit nog met een ding wat ik niet voor elkaar krijg.
Maar als er een spatie en een special teken achter elkaar komen krijg ik 2 minus tekens achter elkaar.
Stel dat ik dit een string heb Peuters / Kleuters dan krijg ik peuters---kleuters Kan ik op een of andere manier zorgen dat dit maar een minus character word, dus peuters-kleuters?
Voor javascript functie wil ik graag een vriendelijke string retourneren vanuit PHP.
Ik ben al aan het stoeien geweest maar zit nog met een ding wat ik niet voor elkaar krijg.
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$string = "Baby's en Kinderen";
echo str_replace(' ', '-', strtolower(preg_replace('/[^a-zA-Z ]/', '-', $string)));
//output: baby-s-en-kinderen
?>
$string = "Baby's en Kinderen";
echo str_replace(' ', '-', strtolower(preg_replace('/[^a-zA-Z ]/', '-', $string)));
//output: baby-s-en-kinderen
?>
Maar als er een spatie en een special teken achter elkaar komen krijg ik 2 minus tekens achter elkaar.
Stel dat ik dit een string heb Peuters / Kleuters dan krijg ik peuters---kleuters Kan ik op een of andere manier zorgen dat dit maar een minus character word, dus peuters-kleuters?
Gewijzigd op 12/01/2021 21:37:24 door Loek Lemmens
PHP hulp
06/11/2024 00:22:36Rob Doemaarwat
12/01/2021 22:14:321) Een "+" in een regex geeft aan "1 karakter of meer". Meerdere "onvriendelijke karakters" worden dan dus vervangen door een enkele "-".
2) Evt. "-" aan begin en eind kun je er gewoon af trimmen.
3) Waarom eerst de spaties uitsluiten, en vervolgens alsnog door een "-" vervangen?
2) Evt. "-" aan begin en eind kun je er gewoon af trimmen.
3) Waarom eerst de spaties uitsluiten, en vervolgens alsnog door een "-" vervangen?
Ozzie PHP
12/01/2021 22:36:57Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
function friendly($string) {
return preg_replace('/\W+/', '-', strtolower($string));
}
echo friendly("Baby's en Kinderen");
?>
function friendly($string) {
return preg_replace('/\W+/', '-', strtolower($string));
}
echo friendly("Baby's en Kinderen");
?>