Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]str_replace - jak usunąć losowe adresy URL?
Tomek58
post
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 ?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
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
Go to the top of the page
+Quote Post
Tomek58
post
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.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 559
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 // (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 27.09.2025 - 17:07