Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Usuwanie linkow z tekstow
Octobus
post 5.08.2011, 16:14:07
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Witam. Mam tekst i w nim ileś linków w tagach html. Potrzebuje zostawić max 2 linki, jesli bedzie wiecej zostawiac sam anchor z linkow. Nie wiem tylko jak to rozplanowac zeby zostawilo 2 pierwsze a reszte usunelo ;/
Go to the top of the page
+Quote Post
CuteOne
post 5.08.2011, 16:22:11
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


preg_match_all, preg_replace/strtr i zwykła inkrementacja lub preg_replace z opcją limit

Ten post edytował CuteOne 5.08.2011, 16:32:51
Go to the top of the page
+Quote Post
Octobus
post 5.08.2011, 17:49:33
Post #3





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Ok poradziłem już sobie. Preg_replace z opcją limit, dzięki bardzo nie wiedizałem o tej opcji. Pomóżcie mi jeszze tylko z wyrażeniem regularnym. Nie wiem jak je zanegować ;/ Potrzebuje zeeby usuwało wszystkie linki które na początku nie mają strona.pl i mają jakąś podstronę. Umiem wydobyć linki które mają strona.pl ale nie mogę dojść jak to zanegować. Wyrażenie łapie mi też strony główne a te mają być nie ruszane ...


Kod
preg_replace('/<a[^>]*href=\"(http:\/\/|)(www.|)strona.pl[^>]*\"[^>]*>(.*)<\/a>/iU', "$3", $subject)


$subject =
Cytat
<a href="http://strona.pl/" title="dsasda">jeden</a>
<a title="dsda" href="http://strona.pl/costam">dwa</a>
<a href="http://dfsfds.pl/" title="dsasda">trzy</a>
<a title="dsda" href="http://fdsfd.pl/costam">cztery</a>
<a href="http://strona.pl/">piec</a>
<a href="http://dffdsfd.pl/">szesc</a>


Powinien zostawić tylko link 2, bo tylko on ma podstronę szukanej strony w adresie.

Obecnie daje mi to:
Kod
'jeden
dwa
<a href="http://dfsfds.pl/" title="dsasda">trzy</a>
<a title="dsda" href="http://fdsfd.pl/costam">cztery</a>
piec
<a href="http://dffdsfd.pl/">szesc</a>'
Go to the top of the page
+Quote Post
--Gościu--
post 6.08.2011, 06:47:54
Post #4





Goście







Chyba źle do tego podchodzisz. Spróbuj innym sposobem, preg_replace raczej nie wystarczy.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:19