Meddelande

Minska
No announcement yet.

Extrahera youtube-ids 11 tecken

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Extrahera youtube-ids 11 tecken

    Hejsan,
    jag skulle behöva ha en enkel kod som när någon infogar en länk till sitt youtubeklipp då plockar ut de 11 tecken som är youtubeklippets unika id oavsett i vilken form koden är inklistrad.

    Typ: if adress = http://www.youtube.com/watch?v=4N_GBVAeHeg then
    make address 4N_GBVAeHeg

    else if adress = http://www.youtube.com/watch?v=4N_GB...eature=related then
    make address 4N_GBVAeHeg

    else if adress = http://youtu.be/4N_GBVAeHeg then
    make address 4N_GBVAeHeg

    else if adress = <iframe width="560" height="315" src="http://www.youtube.com/embed/4N_GBVAeHeg" frameborder="0" allowfullscreen></iframe> then
    make address 4N_GBVAeHeg

    else if adress = <object width="560" height="315"><param name="movie" value="http://www.youtube.com/v/4N_GBVAeHeg?version=3&amp;hl=sv_SE&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/4N_GBVAeHeg?version=3&amp;hl=sv_SE&amp;rel=0" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object> then
    make address 4N_GBVAeHeg

    4N_GBVAeHeg är såklart bara ett exempel och ska kunna vara vad som helst för kombination.

    med andra ord oavsett i vilken form av de ovan som användaren inflikar en länk till sitt youtubeklipp så rensas allt annat än hans 11 idtecken bort.

    Skulle vara schysst om någon vet hur man gör detta på ett smidigt sätt och kan tänka sig att klistra in koden komplett så att en asp-dyslektiker kan kopiera den. Tack på förhand!

  • #2
    Du bör använda ett reguljärt uttryck. Jag satte mig för att skriva ett sådant uttryck, men hittade ett bra här. Jag har även anpassat exempelkod härifrån. Ingen aning om det kommer att funka i exakt denna utformning, alltså.

    [kod]Set regex = New RegExp
    regex.Pattern = "^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*"
    Set matches = regx.Execute(adress)
    Set match0 = matches(0)
    Set youtubeid = match0(7)
    [/kod]
    Gameboy Genius - Foto: Gatukonst och elektronikporr
    Internklippning:
    1) Snaggning av fångar.
    2) Klippning frisörer emellan.

    Kommentera


    • #3
      Om du, precis som jag, tycker RegExp är aningen kluriga och - ärligt talat - näst intill omänskligt luriga kan du kanske göra samma sak med Klassisk ASP.

      "Kanske" skriver jag för att sista frågan verkar grymt omständig.

      I denna tråden finns en länk till dokumentationen av ASP:
      http://www.webforum.nu/showthread.php?t=182288

      Jag länkar till tråden och inte till länken för i tråden står även hur du får det lilla plutteprogrammet att fungera med Windows 7.

      Saker du kan experimentera med är till exempel inStr(xxx, yyy) (in string) och split("/").

      Då det (enligt dig) alltid är just elva tecken så är det ju lätt på det viset.

      Se om du får det att fungera!!
      - Vad hette La Liga då det begav sig?
      - Då Liga.

      Kommentera


      • #4
        tack för svaren jag ska prova!

        Kommentera


        • #5
          Nej, jag är helt klart inte kunnig nog för att få till det här. Provade så här och en rad andra sätt men får bara felmeddelanden. Sitter bara och chansar på vad som är fel utan att förstå koden typ..


          Kod:
          if rs12("message") > " " then  
          Dim adress
          Set adress = rs12("message")
          
          Dim objRegExp
          
          Set objRegExp = New RegExp
          
          objRegExp.Global = True
          
          objRegExp.IgnoreCase = True
          
          objRegExp.Pattern = "^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*"
          Set matches = regx.Execute(adress) 
          Set match0 = matches(0)
          Set youtubeid = match0(7)
          
          response.write youtubeid 
          response.write "youtubeid"
          response.write match0 
          response.write "match0"
          response.write match0(7)
          response.write "match0(7)"
          response.write adress
          response.write "adress"
          
          Set adress = Nothing
          Set objRegExp = Nothing
          
          end if

          Får felmeddelanden på raden med
          Kod:
           Set matches = regx.Execute(adress)"
          och meddelandet är:

          Kod:
           
          
          Object required: ''
          Den som kan det här med regexp kanske ser direkt vad som är tokigt?

          Kommentera


          • #6
            civilpolisens förstod jag inte heller, verkade vara nåt program man skulle ladda ned? Vill helst bara ha kod.

            Kommentera


            • #7
              Ditt objekt heter ju inte regx - du har ju kallat det för objRegExp.
              @aviddevguy

              Kommentera


              • #8
                brorsan skrev: Visa inlägg
                civilpolisens förstod jag inte heller, verkade vara nåt program man skulle ladda ned? Vill helst bara ha kod.
                Det är en dokumentation så man kan lära sig saker. Vill man inte lära sig något så slipper man.

                edit: jag tycker väl iofs att man inte behöver lära sig vare sig asp eller vbscript - det finns tekniker som är liiite nyare och mer användbara. =)
                Last edited by @nders; 2012-03-19, 11:27.
                @aviddevguy

                Kommentera


                • #9
                  @nders, känns mer som att du är ute efter att håna eller tillrättavisa mig än att hjälpa mig så nej som jag redan sagt kan jag kan inte detta och som också är sagt är det därför jag ber om hjälp från någon som kan och vill hjälpa genom att klistra in kod klar att använda så att en "asp-dyslektiker" kan förstå.

                  Om att lära sig saker så har jag tidsbrist och prioriterar främst att lära mig nya saker inom mina intresseområden som är bl.a. hjälp till självhjälp till folk som mår dåligt/har ett svårt liv och inom kunskap om djur/natur och hur världsutvecklingen ser ut och hur man bäst förhåller sig till den för att må bra så att jag kan hjälpa folk med sånt. Alla kan inte ha programmering som främsta intresse att lära sig mer om.

                  Genom åren har jag fått mycket fin hjälp här av schyssta människor och det har gjort att jag kunnat lägga tid på att göra saker för andra på de sätt jag är bra på som inte har med programmering att göra. Just nu är min prio att starta ett projekt i afrika för att hjälpa folk både där och här, men för att få ro till det skulle jag behöva laga min hemsida först och därför ber jag om hjälp med det.

                  Men om det nu inte var ett program utan en text så ska jag ta en titt på det och se om det är något jag kan förstå med mina begränsade förkunskaper. Tack.

                  Kommentera


                  • #10
                    Tittat på den igen och känner inte ens igen filändelsen och jag vet inte, men känns som att det borde finnas ett mycket enklare sätt att göra detta med någon trim/replace-kod liknande den som voigtan hjälpte mig med för några år sen. Eller kanske med koden ovan om man bara fixar det som du sa var fel. Problemet är att det där är en blandning av voigtans kod och nitros kod eftersom nitros inte är komplett och eftersom jag själv inte vet hur man skriver in en kod som nitros i ett dokument. Tacksam om någon vill korrigera och klistra in.

                    Kommentera


                    • #11
                      brorsan skrev: Visa inlägg
                      @nders, känns mer som att du är ute efter att håna eller tillrättavisa mig än att hjälpa mig så nej som jag redan sagt kan jag kan inte detta och som också är sagt är det därför jag ber om hjälp från någon som kan och vill hjälpa genom att klistra in kod klar att använda så att en "asp-dyslektiker" kan förstå.
                      Det var absolut inte meningen att du skulle känna så. Jag ber om ursäkt!

                      Jag hoppas du också såg mitt första inlägg då jag gav ett tips om vad som kunde ha genererat felmeddelandet? Så: jag försökte faktiskt hjälpa dig också...
                      @aviddevguy

                      Kommentera


                      • #12
                        Ska man skriva om det till det här?

                        Kod:
                         Set matches = objRegExp.Execute(adress)"

                        Kommentera


                        • #13
                          Ja, men du har ett citationstecken sist där (copy/paste-fel?), som inte ska vara med.
                          @aviddevguy

                          Kommentera


                          • #14
                            ok, tack, tar bort citationstecknet.

                            Fick nu fel på en senare rad

                            Kod:
                             Object not a collection: 'match0'
                            på raden med

                            Kod:
                             Set youtubeid = match0(7)
                            Vad hänvisar (0) och (7) till om man får fråga?

                            Kommentera


                            • #15
                              Det var absolut inte meningen att du skulle känna så. Jag ber om ursäkt!

                              Jag hoppas du också såg mitt första inlägg då jag gav ett tips om vad som kunde ha genererat felmeddelandet? Så: jag försökte faktiskt hjälpa dig också...
                              Tack, ursäkten godtas och ber om ursäkt själv om jag missförstått/överreagerat/överanalyserat lite. När jag läste om det någon gång med båda inläggen kändes det som att jag kanske gjort det. Har varit utsatt för mycket stress, press och grubbel de senaste åren och inte minst senaste veckan så jag kanske är lite extra känslig av mig..

                              Kommentera

                              Working...
                              X