Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: formatowanie stringa
Forum PHP.pl > Forum > PHP
hhg
jak moge rozbić string postaci
20060312

na postać z myślnikami po 4 znaku i po 6 znaku
2006-03-12
?
AxZx
np
podzielic na czesci
  1. <?php
  2. ?>

a pozniej polaczyc, pamietajac o dolozeniu myslnikow:)
Aure
Wersja przydka ale chyba najwydajniesza:

  1. <?php
  2. $str[0].$str[1].$str[2].$str[3].'-'.$str[4].$str[5].'-'.$str[6].$str[7]
  3. ?>

smile.gif
mike
Cytat(Aure @ 27.07.2006, 23:02 ) *
Wersja przydka ale chyba najwydajniesza:

  1. <?php
  2. $str[0].$str[1].$str[2].$str[3].'-'.$str[4].$str[5].'-'.$str[6].$str[7]
  3. ?>

smile.gif

I najmniej poprawna tongue.gif
Do elementów stringa nie można tak sie odwoływać.

Powinno być:
  1. <?php
  2. $str{0}.$str{1}.$str{2}.$str{3}.'-'.$str{4}.$str{5}.'-'.$str{6}.$str{7}
  3. ?>
Aure
Cytat(mike_mech @ 27.07.2006, 23:07 ) *
I najmniej poprawna tongue.gif
Do elementów stringa nie można tak sie odwoływać.

A z jakiego to powodu? Stringi to tablice znaków i można na nich operować tak samo jak na tablicach. Obydwa sposoby są poprawne.
NuLL
Ale wy macie hardcorowe pomysly
Kod
<?php
echo preg_replace("#^(/d{4})(/d{2})(/d{2})$#","$1-$2-$3","20060312");
?>

Sorry za [code] ale IPB sie chrzani przy regularkach w [php] winksmiley.jpg
Cytat
Obydwa sposoby są poprawne.

BZDURA - owszem oba dzialaja ale zalecanym sa nawiasy klamrowe. W manualu jest wyraznie napisanie aby nie odwololywac sie jak do tablicy.
bendi
Cytat(NuLL @ 28.07.2006, 00:30 ) *
BZDURA - owszem oba dzialaja ale zalecanym sa nawiasy klamrowe. W manualu jest wyraznie napisanie aby nie odwololywac sie jak do tablicy.


A w którym miejscu, bo w tym manualu z którego ja korzystam jest akurat zupełnie odwrotnie tongue.gif

Cytat("Manual php")
String access and modification by character

Characters within strings may be accessed and modified by specifying the zero-based offset of the desired character after the string using square array-brackets like $str[42] so think of a string as an array of characters.

Note: They may also be accessed using braces like $str{42} for the same purpose. However, using square array-brackets is preferred.


A tak wogóle to tę regularkę skądś znam, tylko że u mnie na stronie jest poprane odwołanie do klasy znakowej:
\d
http://bedkowski.pl/a/php_regex/3/
mike
Cytat(bendi @ 29.07.2006, 12:26 ) *
A w którym miejscu, bo w tym manualu z którego ja korzystam jest akurat zupełnie odwrotnie tongue.gif

To go sobie zaktualizuj: Łańcuchy znaków (string) :: Indeksowanie łańcucha (ofsety)
Cytat
Dostęp do pojedynczego znaku łańcucha jest możliwy po podaniu jego indeksu (ofsetu) w nawiasach klamrowych, zaraz po nazwie zmiennej. Pierwszy znak w łańcuchu ma indeks zero.

Notatka: Dla zachowania kompatybilności wstecznej, nadal można używać nawiasów kwadratowych, jednak składnia ta w php 4 uznana jest za przestarzałą.
bendi
Ja tam się zawsze sugerowałem tym: http://pl2.php.net/manual/en/language.types.string.php, ale wygląda na to że to faktycznie jakaś stara wersja.

Nic zwracam honor.
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.