Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego Ronan

[Resolvido] Pegar informações entre tags embed

Recommended Posts

Pessoal

 

Estou implementando um sisteminha de Embed do Issuu, SlideShare, Scribd, YouTube nos sites daqui.

 

Fiz de forma para que caso haja alguma alteração no Embed, alteramos apenas o arquivo global.

 

Basicamente é cadastrado no banco de dados as informações como ID do video, ou ID de alguma apresentação e passamos a informação para o banco de dados. O sisteme pega somente o codigo identificador e passa via call para esse arquivo global, que exibe o codigo e seu Embed.

 

O problema é que tem alguns embeds que fica meio chato a localização das informações para o usuário final, por exemplo, tenho que cadastrar um identificador do SlideShare, neste caso precisaria de um document_id e um access_key para serem armazenados no banco.

 

E olha o tamanho do codigo para vasculhar

 

<a title="View asp on Scribd" href="http://www.scribd.com/doc/33524759/asp" style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;">asp</a>
<object id="doc_588836932266951" name="doc_588836932266951" height="500" width="100%" type="application/x-shockwave-flash" data="http://d1.scribdassets.com/ScribdViewer.swf" style="outline:none;" rel="media:document" resource="http://d1.scribdassets.com/ScribdViewer.swf?document_id=33524759&access_key=key-1qa8440dpkaklgr2cp2e&page=1&viewMode=list" xmlns:media="http://search.yahoo.com/searchmonkey/media/" xmlns:dc="http://purl.org/dc/terms/" >
<param name="movie" value="http://d1.scribdassets.com/ScribdViewer.swf">
<param name="wmode" value="opaque">
<param name="bgcolor" value="#ffffff">
<param name="allowFullScreen" value="true">
<param name="allowScriptAccess" value="always">
<param name="FlashVars" value="document_id=33524759&access_key=key-1qa8440dpkaklgr2cp2e&page=1&viewMode=list">
<embed id="doc_588836932266951" name="doc_588836932266951" src="http://d1.scribdassets.com/ScribdViewer.swf?document_id=33524759&access_key=key-1qa8440dpkaklgr2cp2e&page=1&viewMode=list" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="500" width="100%" wmode="opaque" bgcolor="#ffffff">
</embed>
</object>

Para alguns é facil, um ctrl + f da vida, achamos a informação em questão de segundos, mas não seria interessante para usuarios comum.

 

Resumo da opera.

 

Há algum modo de colar todo o Embed em uma caixa de texto, apertar um botão e ele me dar somente as informações que preciso?

 

Por ex:

 

Nesse codigo acima, só me importa o que esta aqui:

 

src="http://d1.scribdassets.com/ScribdViewer.swf?document_id=33524759&access_key=key-1qa8440dpkaklgr2cp2e&page=1&viewMode=list"

 

O codigo do "document_id" e o "access_key"

 

Daria para fazer algo assim? Coloco todo aquele trecho de codigo, aperto um botão e ele me retorna no caso somente

 

"33524759,key-1qa8440dpkaklgr2cp2e"

 

Obrigado,

 

Diego

Compartilhar este post


Link para o post
Compartilhar em outros sites

existe um code no laboratório de script para isso, dá uma pesquisada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo, depois você adqua ao seu propósito

 

demlo.asp

<!--#INCLUDE FILE="clsHTMLParser.asp"-->
<%
Dim StrURL
Dim StrHTML
Dim ObjParser

StrURL = Request.QueryString("URL")
%>
<H1></H1>
<P>

Este script irá solicitar a página do servidor especificado no URL e analisar o título, descrição e palavras-chave para você
</P>
<FORM>
	<INPUT size="50" name="URL" value="<%=StrURL%>"><BR>
	<INPUT type="Submit" value="Parse">
</FORM>
<BR><BR>
<%
If Not StrURL = "" Then
	Set ObjParser = New clsHTMLParser
	With ObjParser
		StrHTML = .GetURL(StrURL)
		%>
		<TABLE border="1">
			<TR>
				<TD>Title</TD>
				<TD><%=.Title%></TD>
			</TR>
			<TR>
				<TD>Keywords</TD>
				<TD><%=.Keywords%></TD>
			</TR>
			<TR>
				<TD>Description</TD>
				<TD><%=.Description%></TD>
			</TR>
		</TABLE>
		<HR>
		<%
		Response.Write Replace(Server.HTMLEncode(StrHTML), vbCrLf, "<BR>")
	End With
	Set ObjParser = Nothing
End If
%>

classe

<%
' HTML Parser
' ------------------------------------------------------------------------------
Class clsHTMLParser
' ------------------------------------------------------------------------------
	Private mStrHTML
	Private mObjRegExp
	Private mObjMatches
	Private mObjMatch
	Public Title
	Public Keywords
	Public Description
' ------------------------------------------------------------------------------
	Public Property Let HTML(ByRef pStrHTML)
		mStrHTML = pStrHTML

		Set mObjRegExp = New RegExp
		mObjRegExp.IgnoreCase = True

		Call ParseTitle()
		Call ParseDescription()
		Call ParseKeywords()

		Set mObjMatch = Nothing
		Set mObjMatches = Nothing
		Set mObjRegExp = Nothing

	End Property
' ------------------------------------------------------------------------------
	Public Property Get HTML()
		HTML = mStrHTML
	End Property
' ------------------------------------------------------------------------------
	Private Sub ParseTitle()
		Title = ""
		mObjRegExp.Pattern = "<TITLE>([^<]*)</TITLE>"
		Set mObjMatches = mObjRegExp.Execute(mStrHTML)
		If mObjMatches.Count = 0 Then Exit Sub
		Title = mObjMatches.item(0).Value
		Title = Replace(Title, "<TITLE>", "", 1, -1, vbTextCompare)
		Title = Replace(Title, "</TITLE>", "", 1, -1, vbTextCompare)
	End Sub
' ------------------------------------------------------------------------------
	Private Sub ParseDescription()
		Description = ""
		mObjRegExp.Pattern = "<META[^>]+(name=""description""|content=""([^""]*)"")[^>]+(name=""description""|content=""([^""]*)"")[^>]*>"
		Set mObjMatches = mObjRegExp.Execute(mStrHTML)
		If mObjMatches.Count = 0 Then Exit Sub
		Description = mObjMatches.item(0).Value
		Description = Mid(Description, InStr(1, Description, "content=""", vbTextCompare) + 9)
		Description = Mid(Description, 1, InStr(1, Description, """", vbTextCompare) -1)
	End Sub
' ------------------------------------------------------------------------------
	Private Sub ParseKeywords()
		Keywords = ""
		mObjRegExp.Pattern = "<META[^>]+(name=""keywords""|content=""([^""]*)"")[^>]+(name=""keywords""|content=""([^""]*)"")[^>]*>"
		Set mObjMatches = mObjRegExp.Execute(mStrHTML)
		If mObjMatches.Count = 0 Then Exit Sub
		Keywords = mObjMatches.item(0).Value
		Keywords = Mid(Keywords, InStr(1, Keywords, "content=""", vbTextCompare) + 9)
		Keywords = Mid(Keywords, 1, InStr(1, Keywords, """", vbTextCompare) -1)
	End Sub
' ------------------------------------------------------------------------------
	Public Function GetURL(ByRef pStrURL)

		Dim lObjSpider
		Dim strText

		If pStrURL = "" Then Exit Function

		On Error Resume Next

		' Different variations of XML objects
		'Set lObjSpider = Server.CreateObject ("MSXML2.XMLHTTP.3.0")
		'Set lObjSpider = Server.CreateObject ("MSXML2.ServerXMLHTTP")
		Set lObjSpider = Server.CreateObject ("Microsoft.XMLHTTP")
		

		' Could not create Internet Control
		If Err Then
			GetURL = "Error: " & Err.Description
			Exit Function
		End If
		
		On Error Goto 0

		With lObjSpider
			.Open "GET", pStrURL, False, "", ""
			.Send
			GetURL = .ResponseText
		End With
		Set LobjSpider = Nothing

		HTML = GetURL
		
	End Function
' ------------------------------------------------------------------------------
End Class
' ------------------------------------------------------------------------------
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK, amigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.