Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> preg_replace problem z funckją
pawelvod
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 21.09.2006

Ostrzeżenie: (0%)
-----


Mam string 'JakasTamZmienna'. Potrzebuję go przerobić na string 'jakas_tam_zmienna', czyli po pierwsze zamienić wszystkie litery na male, a po drugie wszystkie duże litery w środku stringa poprzedzić znakiem '_'.

Zrobiłem to przy użyciu funkcji:

  1. <?php
  2. echo ereg_replace('([A-Z])','_0','JakasTamZmienna');
  3. ?>


ale po pierwsze nie potrafię wykluczyć z zamiany pierwszej dużej litery więc muszę używać potem substr() żweby wyciąć pierwsze '_' i strtolow() żeby zamienić wszystkie znaki na małe, a po drugie nie wiem dlaczego nie działa mi zapis drugiego z parametrów funkcji w sposób:

  1. <?php
  2. echo ereg_replace('([A-Z])','_$0','JakasTamZmienna');
  3. ?>


choć używam php 5.1.6 i ten sposób jest zalecany wg. php.net

teraz moja funkcja wygląda tak:
  1. <?php
  2. echo strtolower(substr(ereg_replace('([A-Z])','_0',$name),1));
  3. ?>

a pewnie da ją sie zapisać elegancko poprzez jedno ereg_replace().

Ten post edytował pawelvod 16.11.2006, 22:54:49
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 16:06