![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 2.04.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam!
jakis czas temu pisalem skrypt link2text i z perspektywy czasu to bylo baaardzo latwe ale teraz pisze cos w druga strone ale nie za bardzo mam pomysl na szybki algorytm... ![]() Problem polega na zamianie textu w postaci http://www.test.pl lub www.test.pl na aktywne linki w postaci: <a href=http://www.test.pl>www.test.pl</a> ktos ma jakis pomysl jak to zrobic w jak najkrotszym czasie?? Z gory dziekuje za odpowiedzi! POZDRAWIAM |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 786 Pomógł: 0 Dołączył: 18.03.2002 Skąd: Wroclaw/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Witam!
zajrzec do zrodla tego forum - szybciej chyba sie nie da ;)
jakis czas temu pisalem skrypt link2text i z perspektywy czasu to bylo baaardzo latwe ale teraz pisze cos w druga strone ale nie za bardzo mam pomysl na szybki algorytm... :( Problem polega na zamianie textu w postaci http://www.test.pl lub www.test.pl na aktywne linki w postaci: <a href=http://www.test.pl>www.test.pl</a> ktos ma jakis pomysl jak to zrobic w jak najkrotszym czasie?? -------------------- .. make web your home ..
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 2.04.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A z jakiej skladni korzysta to forum??
:?: kod zrodlowy phpbb to ponad 600 kilo z tego co widze! jest gdzie szukac... ![]() Mozesz cos konkretniej... :?: |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 786 Pomógł: 0 Dołączył: 18.03.2002 Skąd: Wroclaw/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat kod zrodlowy phpbb to ponad 600 kilo z tego co widze!
wiec nie marudz tylko do boju.. na pewno musisz suzkac plikow zawierajacych 'www' i pewnie tez 'http'. teraz sprobuj ty. to chyab nie trudne ;)
jest gdzie szukac... pozdrawiam -------------------- .. make web your home ..
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 2.04.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Jak mam byc szczery to nie jestes ani zbyt pomocny ani mily!!!
bardzo mnie to martwi. ![]() Jezeli nie masz do zaprezentowania jakiegos konkretnego pomyslu to poprostu nie zabieraj udzialu w dyskusji!!! To ze przy nicku masz dopisane moderator nie upowaznia Cie do traktowania reszty ludzi z gory! PS co do szukania w godzi phpbb to tez nie takie latwe jak Ci sie wydaje!!! postaraj sie cos tam znalezc a penie zajmie Ci to spory kawalek czasu!!! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
[php:1:76348dfd73]<?php
$text=preg_replace("#+://)([w-]+.([w-]+.)*[w]+(:[0-9]+)?(/[^ "nrt<]*?)?)](.*?)#si", '<a href="1://2">3</a>', $text); ?>[/php:1:76348dfd73]to będzie jakoś tak, nie jestem tylko pewien, czy tych 3 nie powinno się wziąść w nawiasy... Ps. znalazłem i przerobiłem w phpbb (przerobiłem- więc może nie działać!). |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 2.04.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
ok!
dzieki za przykladowy kod i wlasnie sobie uswiadmoilem blad w moim mysleniu... moja pierwsza mysla bylo sprawdzanie wystapien http w danym ciagu i zakladanie takiej petelki ktora kazde znalezione wyrazenie pasujace do wzorca zamieni na link... a przeciez istnieja funkcje takie jak preg_replace jakas zacma mnie chwycila ;( no coz bywa i tak PS a kurzt kazal mi szukac tam http i www ![]() to bym szukal i szukal he he co za koles... |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 786 Pomógł: 0 Dołączył: 18.03.2002 Skąd: Wroclaw/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat a kurzt kazal mi szukac tam http i www :)
praktyk. wytrenowalem juz kilku programistow ;p
to bym szukal i szukal he he co za koles... -------------------- .. make web your home ..
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 786 Pomógł: 0 Dołączył: 18.03.2002 Skąd: Wroclaw/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jak mam byc szczery to nie jestes ani zbyt pomocny ani mily!!!
bardzo mnie to martwi. dlaczego? bo wole dac wedke a nie rybe? Cytat Jezeli nie masz do zaprezentowania jakiegos konkretnego pomyslu to poprostu nie zabieraj udzialu w dyskusji!!!
pomysl byl bardzo konkretny misiek. find + grep rozwiazaly go bardzo szybko ;)
[..] PS co do szukania w godzi phpbb to tez nie takie latwe jak Ci sie wydaje!!! postaraj sie cos tam znalezc a penie zajmie Ci to spory kawalek czasu!!! i jak mysz mi swiadkiem nie staram sie patrzec z gory - ale wezme pod uwage twoje slowa. pozdrawiam -------------------- .. make web your home ..
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
a nie łatwiej było poszukać (jak ja) w pliku, który się nazywa "bb_code.php"...
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 20.03.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A ja zrobiłem przed chwilą własny skrypcik na to
![]() ![]() [php:1:3408d7a0ac]<?php if(isset($HTTP_POST_VARS["tekst"])) { $tekst=$HTTP_POST_VARS["tekst"]; $tekst=nl2br($tekst); $wiersze=explode("n", $tekst); $new=""; $znak=array(".", ",", "!", "?"); $end[0]=""; for($i=0;$i<count($wiersze);$i++) { $tablica=explode(" ", $wiersze[$i]); for($j=0;$j<count($tablica);$j++) { if(substr($tablica[$j], 0, 7)=="http://") { $end[$j]=""; for($k=0;$k<count($znak);$k++) { if(substr($tablica[$j], strlen($tablica[$j])-1, 1)==$znak[$k]) { $tablica[$j]=substr($tablica[$j], 0, strlen($tablica[$j])-1); $end[$j]=$znak[$k]; } } $tablica[$j]="<a href="".$tablica[$j]."" target=_blank>".$tablica[$j]."</a>".$end[$j]; } elseif(ereg("@", $tablica[$j])==TRUE) { $end[$j]=""; for($k=0;$k<count($znak);$k++) { if(substr($tablica[$j], strlen($tablica[$j])-1, 1)==$znak[$k]) { $tablica[$j]=substr($tablica[$j], 0, strlen($tablica[$j])-1); $end[$j]=$znak[$k]; } } $tablica[$j]="<a href="mailto:".$tablica[$j]."">".$tablica[$j]."</a>".$end[$j]; } $new=$new." ".$tablica[$j]; } } echo "Tekst wpisany przez Ciebie:<br><br>$tekst<br><br>Tekst wygenerowany przez skrypt:<br><br>$new"; } else { echo "<form method=post action=zmiana.php>Napisz jakis tekst zawierajacy adresy stron www i emaile i kliknij 'OK'.<br><br><textarea name=tekst cols=60 rows=10></textarea><br><br><input type=submit value=OK></form>"; } ?>[/php:1:3408d7a0ac] Jak to działa, możecie zobaczyć pod tym linkiem: http://cod.home.staszic.waw.pl/testy/zmiana.php. Skrypt szuka ciągu "http://" i zamienia na hyperlink. Znajduje też małpę (@) i daje klikalny odnośnik z poleceniem "mailto:". Skrypt radzi sobie z linkami, po których jest kropka, przecinek, wykrzyknik lub znak zapytania. Przetestujcie sobie i powiedzcie co o tym sądzicie ![]() -------------------- Cod | codslfc@o2.pl | gg#1405724 | www.footbag.p2.pl
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
nie radzi sobie z user:haslo@test.pl/ podaje mailto, a ja chciałem, żeby podał zwykłu link, który miałaby zinterpretować przeglądarka (domyślnie, http).
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 20.03.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No rzeczywiście
![]() ![]() A tak BTW: Mógłby ktoś wytłumaczyć to? [php:1:a520a528a7]<?php $text=preg_replace("#+://)([w-]+.([w-]+.)*[w]+(:[0-9]+)?(/[^ "nrt<]*?)?)](.*?)#si", '<a href="1://2">3</a>', $text); ?>[/php:1:a520a528a7] -------------------- Cod | codslfc@o2.pl | gg#1405724 | www.footbag.p2.pl
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 2.04.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
troche inaczej (zywcem z manuala)
![]() Kod $atext = preg_replace("/([w]+://[w-?&;#~=./@]+[w/])/i","<A TARGET="_blank" HREF="$1" class=l>$1</A>", $atext);
tak na wypadek jak ktos by tego szukal w przyszlosci ![]() PS niestety nie obsluguje tez postaci user:pass@host.net ![]() |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 20.03.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Bomba! To ja się tyle męczyłem (i tak jeszcze nie zawsze dobrze działało), a tu się okazuje, że wszystko robi jedna funkcja!!!
![]() -------------------- Cod | codslfc@o2.pl | gg#1405724 | www.footbag.p2.pl
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Chyba nie ma innego wyjścia, jak wziąść manual, i postudiować dział o wyrażeniach regularnych. Bardzo pouczające, a bez tego ani rusz. Jak samodzielnie nie spróbujesz i nie przetestujesz, to tego nie załapiesz
![]() Dużo może też wnieść to forum, poszukaj w.r., w r i wyrażenia ... -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 21:20 |