Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Jak získat hodnoty z tágů

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

 

Vložit nový příspěvek

Jméno:

Předmět:

Příspěvek:

*AGGRESSIVE* O:-) :-/ :-P *BLUSH* *BYE* :'( *DASH* 8-) *DRINK* :-| *THUMBUP* *SOS* *KISSED* :-* *OK* *SECRET* *STOP*

Pohlaví:

Muž, Žena

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

Re: Jak získat hodnoty z tágů

Autor: peta1

11:28:32 09.08.2011

designerrr
\S no jo, ale uprostred uvozovek muze byt mezera? class="arial tucny cervene"
\s* melo byt \S+ Tam jde o to (u JS), ze \S+ nekonci na prvnim znaku v retezci, ale na poslednim nalezenem. To prave resi nejaky modifikator.

regexp.cz
2 = Tady ma byt nejaky smysluplny text bla bla
1 =
1b =
1c =
3 = i, (zvyraznit shodu)
Nevim proc, ale je treba lomitko zalomitkovat na regexp :)
1b preg shoduje
1b ereg neshoduje (nechce se mi to ted ladit proc)
1b js shoduje
1c js shoduje

Testoval jsem to na tomto a jede to, takze to mohlo byt tim ereg
$string = 'Tady ma byt nejaky smysluplny text bla bla';
$result = array();
//$pattern = "/]+>/i";
$pattern = "||i";
preg_match($pattern, $string, $matches);
print_r($matches);

"Od kdy ma img element atributy title a value, navic pocitam s tim, ze budou patricne escapovany za ekvivalentni html entity "
Nema, to byla opet poznamka, kvuli univerzalnosti reseni pro 2 a vice parametru. To sem jeste nevedel, ze "pattern jsem pouzival jen proti tomu html elementu, co je vysse uveden"

Citovat příspěvek

 

Re: Jak získat hodnoty z tágů

Autor: designerrr

15:47:23 08.08.2011

peta1 Napsal:
-------------------------------------------------------
> designerrr
> atribut="hodnota"
> $pattern = "||i"
> protoze tam mas [bold]v html kodu uvozovky a ve vyrazu
> ne?[/bold]
\S - any character that is not a whitespace character(takze i uvozovky)
> protoze \s* [bold]jsou jakekoliv znaky[/bold] a /> muze byt
> brano jako uplne posledni z retezce?
\s - any whitespace character
> protoze tag nemusi koncit /> ale jen >
pattern jsem pouzival jen proti tomu html elementu, co je vysse uveden
> protoze \s+ je aspon jedna mezera i v pripade, ze
> tag je
pattern jsem pouzival jen proti tomu html elementu, co je vysse uveden
>
> Nicmene tvuj druhy vyraz je lepsi nez prvni.
> $pattern = "/]+>/i";
> Tady totiz neuvazujes fakt, ze treba parametr
> title, value a jine, muzou obsahovat > <.
Od kdy ma img element atributy title a value, navic pocitam s tim, ze budou patricne escapovany za ekvivalentni html entity

Citovat příspěvek

 

Re: Jak ziskat hodnoty z tagu

Autor: spaze

10:04:34 08.08.2011

Ahoj,

8.8.2011 10:02 odpovídám na to, co peta1 napsal(a) 8.8.2011 7:52:
> Nicmene tvuj druhy vyraz je lepsi nez prvni.

Uff, ve vlakne o parsovani HTML diskutovat o regularnich vyrazech, to
je masakr.

Pokud chce nekdo parsovat HTML, tak na to jsou X/HTML parsery, pokud
nekdo nema validni X/HTML, tak na opravu slouzi Tidy. Vic asi neni
treba resit.

> \w\W je pouzite kvuli tomu, ze mi nebral pro "." znaky

Na to je nejakej modifier, /s.

--
Jinak "nefunguje" znamena nefunguje, jednoduseji receno, nedela to
to co bych ocekaval ze to bude delat. Snad uz to je snaze pochopitelne.
-- Randy, webservery, builder.cz


Příspěvek zaslán emailem

Citovat příspěvek

 

Re: Jak získat hodnoty z tágů

Autor: peta1

7:52:00 08.08.2011

designerrr
atribut="hodnota"
$pattern = "||i"
protoze tam mas v html kodu uvozovky a ve vyrazu ne?
protoze \s* jsou jakekoliv znaky a /> muze byt brano jako uplne posledni z retezce? Za * se dava otaznik *? (aspon v JS)
protoze tag nemusi koncit /> ale jen >
protoze \s+ je aspon jedna mezera i v pripade, ze tag je

Nicmene tvuj druhy vyraz je lepsi nez prvni.
$pattern = "/]+>/i";
Tady totiz neuvazujes fakt, ze treba parametr title, value a jine, muzou obsahovat > <.

V Js jsem pouzil ted tohle, tez nevim, do jake miry je to ok :)
'\\s(%name%)[\\s]*\\=[\\s]*(?:(?:["\']([\\w\\W]*?)["\'])|(?:([^"\'][\\w\\W]*?)(?=[\\s>])))'
\\s se musi kvuli lomitku pridat
(?: je pasivni vyraz, ze ho nebude uvazovat pro matches ($1 $2 ...)
\w\W je pouzite kvuli tomu, ze mi nebral pro "." znaky \n (zalomeni radku), coz me pekne stvalo hlavne u viceradkovych komentaru
str = str.replace(//gi,""); //comment

Citovat příspěvek

 

Re: Jak získat hodnoty z tágů

Autor: designerrr

12:01:24 06.08.2011

[code]
$string = 'Tady ma byt nejaky smysluplny text bla bla';
$result = array();
$pattern = "/]+>/i";
preg_match($pattern, $string, $result);
$xmlObject = simplexml_load_string($result[0]);
echo $xmlObject->attributes()->src;
[/code]

PS. zajimalo by me, proc mi nefungoval tenhle pattern
$pattern = "||i";
pro extrakci rovnou vsech paru atribut="hodnota"
vzdycky to vracelo jen tu posledni dvojici, nechapu.

Citovat příspěvek

 

Jak získat hodnoty z tágů

Autor: D.Morys

10:28:54 06.08.2011

Dobrý den. V řetězci mám načten úvodník článku, který mimo jiné obsahuje obrázek (). Prosím o informaci, jakým způsobem je možné získat z tohoto řetězce odkaz na obrázek, popř. jak získávat hodnoty z parametrů tágů. Přecházím z ASP a ještě se moc neorientuji v PHP. Děkuji.

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: