Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Każdy wyraz z wieliej litery
Forum PHP.pl > Forum > PHP
symonides
Cześć, mam następujący string "asd.dsa.sad" i chcę aby każdy wyraz rozpoczynał się wielką literą, czy istnieje jakiś lepszy sposób od poniższego?
  1. $str = implode('.', array_map('ucfirst', explode('.', $str)));

Niestety nic innego nie udało mi się wymyślić, bądź nie znalazłem czegoś co potrafi zrobić to "lepiej".
Crozin
A co jest złego z tym?
symonides
Złego nic z tym nie jest, tylko odnoszę wrażenie, że jest to zrobione naokoło i chciałem się dowiedzieć, czy istnieje jakaś lepsza praktyka. Ot co.
Uriziel01
Drugim rozwiązaniem jest tutaj najpewniej uzycie str_repleace żeby zmienic '.' na spacje, potem ucwords aby zmienic pierwsze litery na wielkie na koniec znów str_repleace. Nie jest to szybsze, lepsze ani czytelniejsze. Ogólnie nie widzę niczego złego w Twoim rozwiązaniu.
EDIT:
Choc po przemyśleniu można tutaj zastosować wyrażenia regularne, zapewne było by to znacznie szybsze no i prócz formuły dosyć eleganckie rozwiązanie, ale to już musi podpowiedzieć ktoś kto czuje się pwwniej w reg exp'ach. Ja nie chcę Ci namącić w głowie.

EDIT2:
O Boże ile ja dzisiaj robie tych 'editów'.
Wydaje mi się że to jest najlepszy sposób:
  1. preg_replace('/([\.]|^)([a-z])/e', '"$1".strtoupper("$2")',$text);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.