I have some of string which look like this :
“MOULDED WIRE BRA #viag19203”
“moulded non wire bra #viag19202”
how to make all the string to become like :
“Moulded Wire Bra #VIAG19203”
“Moulded non-Wire Bra #VIAG19203”
so every word before # is using ucwords, and everything after ‘#’ is strtotupper
the closest solution i can find for now is
JavaScript
x
<?php
$txt = "moulded non wire bra #viag19202";
echo implode('#', array_map('ucwords', explode('#', $txt)));
?>
the result is :
Moulded Non Wire Bra #Viag19202
how to make all the letter after # uppercase?
Advertisement
Answer
You can use strpos to find first position of #: Then you can slice your string with substr and use ucwords on first and the strtoupper on second:
JavaScript
$txt = "moulded non wire bra #viag19202";
$position = strpos($txt, '#');
$first = ucwords(substr($txt, 0, $pos));
$second = strtoupper(substr($txt, $pos));
$label = $first.$second;
echo $label;
Or using implode and explode. You had an error, because you was using ucwords on each element of array:
JavaScript
$txt = "moulded non wire bra #viag19202";
$chunks = explode('#', $txt);
$chunks[0] = ucwords($chunks[0]);
$chunks[1] = strtoupper($chunks[1]); //#viag19202" -->> #VIAG19203
echo implode('#', $chunks);