![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 5 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam wyleciało mi z głowy jak nazywa się funkcja do wycinania znaków z końca gdy napotka znak podany w funkcji.
Chcę osiągnąć. link index.php?kategoria=true&site_no=2 lub index.php?kategoria=true&site_no=99 sprowadzić do postaci index.php?kategoria=true&site_no Za wszelką pomoc z góry dzięki. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 8 Dołączył: 20.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dla porządku, choć w zasadzie przy założeniu że wycinamy tylko [0-9] nie ma to znaczenia. Gdybyś jednak chciał wyciąć wszystkie znaki znajdujące się za ostatnim znakiem równości i nie dał byś ograniczenia że to będą tylko cyfry to różnica między + a +? jest kolosalna, bo ten pierwszy wytnie wtedy wszystko co znajduje się między pierwszym znakiem równości a końcem linii a ten drugi wytnie wszystko co znajduje się między ostatnim znakiem równości a końcem linii. Taka jest różnica między maksymalistycznym a minimalistycznym kwantyfikatorem i lepiej od razu się do tego przyzwyczajać i nabierać dobrych nawyków. O tym wiem, tylko wydawało mi się, że w tym przypadku to nieistotne. Ale nie wiedziałem, że da się to tak zrobić - za pomocą operatora +? - myślałem, że steruje się tym tylko za pomocą modyfikatorów wzorców (U (PCRE_UNGREEDY)). Ale teraz widzę, że to po prostu zamienia maksymalistyczny na minimalistyczny i odwrotnie. Ale faktycznie regexp do czegoś takiego jest chyba być trochę przesadzony i rozwiązanie z substr i strrpos jest najlepsze. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 05:22 |