webForumDet fria alternativet

Ta ut ospecifierat antal tecken i sträng

ASP

7 svar · 338 visningar · startad av Melitta

Medlem sedan sep. 2003448 inlägg
Frågan#1

Hellu..
Håller på och donar lite med ett script här. Problemet jag har är att ta ut typ "göra" från
"en massa text man kan :link:göra:/link: vad man vill med"
med hjälp av :link: och lägga "göra" i en egen variabel. Hur skulle detta kunna gåtill?

Mvh Henke

Medlem sedan maj 2002560 inlägg
#2

Kanske:

TxtStr= "en massa text man kan : link :göra: /link : vad man vill med"
Var = Mid(TxtStr, InStr(TxtStr, ": link :")+6, InStr(InStr(TxtStr, ": link :")+6, TxtStr, ": /link :")-1)

Fast utan mellanslag vid kolon

Medlem sedan apr. 20031 660 inlägg
#3

HEJ!

Det låter som regexp!

Är inte så insatt i de kodexempel som finns på wF, men har läst att koden för att göra länkar av [link]-taggarna finns.
Det du vill göra är samma sak, titta i kodbiblioteket alltså!

Medlem sedan sep. 2003448 inlägg
#4

jo jag har testat med båda alternativen och på LR^evil.sid's funktion (som jag gjorde en likadan själv innan jag postade och fråga) fick jag ut en 20 tecken efter : /link : osså.
Har testat med regexp men med det kan man väll inte ta ut ord? Bara ersätta strängar eller?

Ska testa med LR^evil.sid's lilla kod snutt och se om det är n+ått jag missat i min.
Tack iaf :)

Medlem sedan apr. 20031 660 inlägg
#5

HEJ!

Nädå, du kan ta ut strängar också, kolla match.

Testa lite till, posta annars igen med koden.

Medlem sedan sep. 2003448 inlägg
#6

Får fortfarande ingen stil på det, testat med match i ett par timmar nu men inte kommit nån vart.

private Function Formatera(strText)
Dim recArray

recArray = split(strText,"<item>")

for i = 0 to ubound(recArray)

'output = Mid(strAllInfo, 1, InStr(strAllInfo, "'")-1)
'strTitle = Mid(recArray(i), InStr(recArray(i), "<title>")+7, InStr(trim(recArray(i)), "</title>")-1)
strUrl = Mid(recArray(i), InStr(recArray(i), "<link>")+6, instr(instr(recArray(i), "<link>")+6,recArray(i), "</link>")-1)
'strDesc = Mid(recArray(i), InStr(recArray(i), "<description>")+13, InStr(recArray(i), "</description>")-1)
'strTest = strTest & "<a href="""& strUrl &""">"& strTitle &"</a><br />"& strDesc &"<hr noshade>"
next
Formatera = strUrl
end function

strText = readFile()
response.write Formatera(strText)

Det som kommer ifrån readFile() ser ut:

		<item>
			<title>Toyota förnekar intresse för Scaniaköp</title>
			<link>[url]http://www.dn.se/DNet/jsp/polopoly.jsp?d=145&a=237391[/url]</link>
			<description>Toyota tillbakavisar Dagens industris uppgifter om att biljätten skulle vara intresserade av att köpa aktier i Volvoägda Scania. Volvo i sin tur valt att inte kommentera spekulationerna.</description>
		</item>
		<item>
			<title>En av många rubriker.</title>
			<link>[url]http://www.devguru.com/Technologies/vbscript/quickref/Matches_Collection.html[/url]</link>
			<description>Hej hopp lingon ***** osså vidae.</description>
		</item>
Medlem sedan maj 2002560 inlägg
#7
<%
	TxtStr = "En massa text man kan <link<göra</link< vad man vill med"
	x = InStr(TxtStr, "<link<")+6
	y = (InStr(x, TxtStr, "</link<")) - (x)
	Var = Mid(TxtStr, x, y)
	Response.Write var
%>

Trodde inte jag skulle behöva göra allt själv ; )
Detta fungerar bara du byter ut < mot :

Medlem sedan sep. 2003448 inlägg
#8

Tackar :) Klarade det dock på ett något omständigare sätt :)

for i = 0 to ubound(recArray)

strtitle = Mid(recArray(i), InStr(recArray(i), "<title>"))
arrtitle = split(strtitle,"</title>")
strtitle = mid(arrtitle(0),instr(arrtitle(0),"<title>")+7)
Erase arrtitle 

strUrl = Mid(recArray(i), InStr(recArray(i), "<link>"))
arrurl = split(strUrl,"</link>")
strUrl = mid(arrurl(0),instr(arrurl(0),"<link>")+6)
Erase arrUrl 

strDesc = Mid(recArray(i), InStr(recArray(i), "<description>"))
arrDesc = split(strDesc,"</description>")
strDesc = mid(arrDesc(0),instr(arrDesc(0),"<description>")+13)
Erase arrDesc 

strTest = strTest & "<a href="""& strUrl &""">"& strTitle &"</a><br />"& strDesc &"<hr noshade>" & vbcrlf
next
Formatera = strTest
end function

strText = readFile()
response.write Formatera(strText)

Tack iaf :)

268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)