![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 21.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Potrzebowałbym panowie pomocy bo zawiesiłem się na pewnym zagadnieniu. Mianowicie chodzi o replace. Może zacznę od przykładu" mamy sobie ciag :"http://www.youtube.com/watch?v=R6987o-h3JI&feature=g-vrec jakis dowolny tekst http://www.youtube.com/watch?feature=endsc...0xZLF0&NR=1 kolejny ciąg" chce zamienic w tym ciagu adresy url na linki w taki sposob aby wyciagnąć id filmu czyli to co sie znajduje po ?v= a przed & i zwrocic tekst juz po przetworzenie. po przetworzeniu miałby wyglądać tak: "Youtube: R6987o-h3JI jakis dowolny tekst Youtube: yvCPH0xZLF0 kolejny ciąg" teraz co mam..... no więc mam wyrażenie takie : Kod replace(/(?:http:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?([^&]+).*/gm,'<a href="http://www.youtube.com/watch?v=$1">Youtube: $1</a>'); działa wszystko ok z wyciaganiem id gdy w stringu jest sam url natomiast gdy string wyglada tak jak na górze to zaczynaja się cuda.....wyciaga id z url i przetwarza url na link jednak wszystko co sie znajduje po spacji pierwszego wystapienia url znika.... nie bardzo moge sobie poradzic z tym wyrazeniem aby poprostu zamianiał w stringu kazde wystapienie url pasujacego do wzorca na link ale zwracal tez elementy nie pasujace do wzorca.... kurcze troche skomplikowanie to opisalem a zagadnienie proste.... bede wdzieczny za pomoc bo juz nie domagam nerwowo Ten post edytował fotexxx 13.08.2012, 14:12:35 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 10:03 |