![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 74 Pomógł: 0 Dołączył: 30.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Jak za pomocą fukncji: str_replace usunąć adresy URL, które mogą się zmieniać? Np. chcę usunąć z tekstu następujące wyrażenie: Cytat <div align="right"><a href="java script:okno('opis.html?pr_tele_id=3464008521',775,500,1);">więcej</a> W którym ID będzie się zmieniać. Jak tego dokonać za pomocą str_replace ? -------------------- Procesor: 2,4 GHz Dysk: 180 GB Ramy: 1538 MB Grafika: GeForce 256 MB |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
nie da sie. str_replace zamienia stale znane fragmenty. Do tego co chcesz zrobic musisz uzyc wyrazen regularnych i preg_replace
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 74 Pomógł: 0 Dołączył: 30.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nie wiem jak zastosować w moim przypadku preg_replace. Znalazłem tabelkę do wyrażeń regularnych:
Cytat (.*) Dowolny ciąg znaków (.*?) Dowolny najkrótszy ciąg znaków ([0-9]*) Dowolny ciąg cyfr ([0-9]*?) Dowolny najkrótszy ciąg cyfr ([a-zA-Z]*?) Dowolny najkrótszy ciąg znaków malych i wielkich ([0-9]{2,4}) Dwie lub 4 cyfry I według tego robię: Cytat <?PHP $strText = file_get_contents('strona.html'); $strText = preg_replace('#opis.html?pr_tele_id=([0-9]*)#', 'test', $strText); echo $strText ?> I nie zmienia się nic. Nie wiem dlaczego jeśli usunę ## to wyskakuje błąd. -------------------- Procesor: 2,4 GHz Dysk: 180 GB Ramy: 1538 MB Grafika: GeForce 256 MB |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
? to znak specjalny
czyli nie: #opis.html?pr_tele_id=([0-9]*)# a: #opis.html\?pr_tele_id=([0-9]*)# Cytat Nie wiem dlaczego jeśli usunę ## to wyskakuje błąd. To znaki rozpoczecia i zakonczenia wyrazenia czy jakos tak. A konkretnie nie ## a dowolne dwa takie same znaki. rownie dobrze moze byc // ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 00:34 |