Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Podmiana liczby, preg_replace
markonix
post
Post #1





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


  1. /^STRING (\d*)\/12\/2012/

array (
0 => 'STRING 7/12/2012',
1 => '7',
)

Wyciągnięcie liczby nie sprawia mi problemu ale potem chciałbym stworzyć nowy string z liczbą +1.
Pomijając czy w preg_replace można zrobić małe dodawanie to po prostu chciałbym daną liczbę (całkowitą) podmienić na nową.

Liczyłem, że wystarczy ten sam regexp bo jest generowany dynamicznie ale niestety tak prosto nie jest.
  1. $count = null;
  2. $returnValue = preg_replace('/^STRING (\d*)\/12\/2012/', '8', 'STRING 7/12/2012', -1, $count);

Niestety to mi podmienia cały string na "8" co oczywiście mnie nie dziwi ale jak podmienić tylko tamtą liczbę?
Wyrażenia regularne to nie jest jakaś moja mocna strona..

Ten post edytował markonix 24.09.2012, 22:52:12
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
abort
post
Post #2





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


Cytat(markonix @ 24.09.2012, 22:28:57 ) *
Wyciągnięcie liczby nie sprawia mi problemu ale potem chciałbym stworzyć nowy string z liczbą +1.

Może ja jestem głupi, ale... string wygląda mi na DATĘ (nie wiem, czy format d/m/y, czy anglosaski m/d/y). Co będzie, jak gdzieś dostaniesz w dacie ostatni dzień miesiąca albo ostatni miesiąc roku? Naprawdę będziesz się posługiwał gdzieś w kodzie 32gim dniem miesiąca lub 13tym miesiącem w roku?
Do operacji na datach są odpowiednie funkcje: http://php.net/manual/en/ref.datetime.php
No chyba że w jakiś sposób zapewnisz sobie, że nie nie dostaniesz nigdy do obrobienia daty na przykład 31 grudnia (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 17.10.2025 - 18:58