![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Chciałbym usunąć z tekstu ostatni nawias, wraz z zawartością, np.
Zwróci:
Pozdrawiam i proszę o wskazówki ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
myślę, że nie ma konieczności używania wyrażeń regularnych, zapoznaj się z tą funkcją i przykładami - http://php.net/manual/en/function.strrpos.php, znajdź pozycję ostatniego i przedostatniego nawiasu, a potem usuń znaki między tymi pozycjami
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się że bardziej optymalnie było by użyć wyrażenia regularnego?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 869 Pomógł: 53 Dołączył: 20.10.2003 Skąd: Przeworsk Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli treść będzie dynamiczna to zdecydowanie wyrażenie regularne.
Sprecyzuj swój post. Opisałeś, że chciałbyś usunąć nawiasy wraz z zawartością, a w przykładnie zawartość została. Poczytaj o wyrażeniach regularnych w PHP. Co prawda nie jest to łatwy kawałek tortu, ale na prawdę warto bo zdecydowanie upraszcza programowanie. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli treść będzie dynamiczna to zdecydowanie wyrażenie regularne. a jaka to różnica czy dynamiczna czy statyczna? przecież funkcja strrpos() służy właśnie do ustalania pozycji, więc moim zdaniem jak najbardziej się tutaj nadaje Cytat Wydaje mi się że bardziej optymalnie było by użyć wyrażenia regularnego? zależy co rozumiesz przez słowo optymalnie, szybciej działające czy mniej kodu? Bo funkcje typu preg_replace(), są stosunkowo wolne i jak dotąd we wszystkich sytuacjach gdzie można było zastąpić preg_replace(), kilkoma prostszymi funkcjami okazywało się to dużo szybsze, ale jak ktoś napisze do tego wyrażenie regularne to chętnie zrobię jakiś test porównawczy tu masz kod do usunięcia ostatnich nawiasów bez zawartości z podanego stringa(czyli tak jak w przykładzie, który podałeś):
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Chodziło mi o usunięcie wraz z zawartością (pomyliłem się), nie mam pojęcia jak to zrobić przy użyciu strrpos, możecie mnie naprowadzić?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
tu masz usunięcie razem z zawartością:
przy pomocy funkcji strrpos() pobierasz ostatnie występowanie nawiasu otwierającego i zamykającego, apotem wycinasz sobie początkowy i końcowy fragment stringa i je łączysz. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki
![]() ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 218 Pomógł: 0 Dołączył: 14.04.2004 Skąd: Słupsk, Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
moze dolacze sie do tematu...
a jak usunac ostatnie powtorzenie jakiegos stringa, chodzi mi tu o tagi html... albo o jakas funkcje "odwrotna" do strpos... bo strrpos paradoksalnie dziala inaczej (szuka char a nie string) i mam problem... zabawa DOM nei wchodzi w gre, bo strona nie jest moja, a ma bledy i wywala (ja tylko zczytuje z niej troche informacji - za zgoda autora jakby ktos sie czepial ![]() jakies pomysly? moze istnieje funkcja o ktorej nie wiem? swoja droga, moze ktos wie, po co strrpos dziala jak strrchr, a nie odwrotnie do strpos jak nazwa sugeruje? k. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 11:36 |