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.
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
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!
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å.
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)
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.
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.. ;)
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
Set matches = regx.Execute(adress)"
och meddelandet är:
Object required: ''
Den som kan det här med regexp kanske ser direkt vad som är tokigt?
@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.
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.
@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å...
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..
Jag kan tyvärr inte regexp heller - det är helt omöjligt att lära sig! - så jag hoppas att nitro kan kliva tillbaka in. Annars kan säkert voigtann1 - han är en riktig j**el på regexp. =)
Vad hänvisar (0) och (7) till om man får fråga? :)
När du först kör regex-anropet får du tillbaka en lista med matchningar för hela uttrycket. Din sträng kan t ex innehålla flera YouTube-länkar, och då är varje sådan länk en matchning för sig. Nästa steg är i sin tur att plocka ut undermatchningar inom uttrycket. Varje parentes skapar en ny undermatchning, något man förövrigt kan använda för att plocka ut flera saker med ett anrop. I detta fall råkar uttrycket innehålla mycket parenteser och själva ID't hamnar på plats 7.
Jag kan tyvärr inte regexp heller - det är helt omöjligt att lära sig! - så jag hoppas att nitro kan kliva tillbaka in. Annars kan säkert voigtann1 - han är en riktig j**el på regexp. =)
Jasså?
men vad är **rs12("message")**är det ett objekt? Sen få du nog kolla om det finns en kollektion, om den inte hittar uttrycket så kan den inte hämta ut posterna heller.
Jag kanske för övrigt ska tillägga att jag har noll erfarenhet med ASP och försökte klistra ihop något efter bästa förmåga utifrån tillgänglig exempelkod. Regex i sig kan jag däremot hyfsat.
@nders skrev:
Jag kan tyvärr inte regexp heller - det är helt omöjligt att lära sig!
Ja det är helt klart svårare att se logiken i det "språket" än i asp!
voigtann1 - han är en riktig j**el på regexp. =)
håller med :)
Jag kanske för övrigt ska tillägga att jag har noll erfarenhet med ASP och försökte klistra ihop något efter bästa förmåga utifrån tillgänglig exempelkod. Regex i sig kan jag däremot hyfsat.
Aha, ok.
men vad är rs12("message")är det ett objekt? Sen få du nog kolla om det finns en kollektion, om den inte hittar uttrycket så kan den inte hämta ut posterna heller.
Om jag lyckades med det tänkte jag sen försöka justera det så att ändringen görs redan när en medlem postar länken så att bara 7EXXFlygmQY skrivs in i databasen, inte hela länken, så detta var tänkt att vara ett första test på själva "omvandlingen" bara.
260 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9