Autor | Zpráva | ||
---|---|---|---|
misisnik Profil |
#1 · Zasláno: 8. 8. 2010, 21:08:02
Cau potřebuji vědět jak zjistím pomocí pre_match co je mezi tmto scriptem :
<h1 style='font-size: 18px;font-weight:bold;color: #000000;font-family: Tahoma;display:inline'>co je tady ..</h1> Pak bych to dal do promene jako ten upravenej kod jako $najit preg_match($najit,$vystup,$cil); echo $cil[1]; Předem díky za odpověď |
||
Keeehi Profil |
#2 · Zasláno: 8. 8. 2010, 21:15:08 · Upravil/a: Keeehi
co je tady nahraď za (.*?)
|
||
misisnik Profil |
#3 · Zasláno: 8. 8. 2010, 21:20:03
a nic se nedeje :) kdys nahradim ..
mam to takhle a nic se neděje : $najit="<h1 style='font-size: 18px;font-weight:bold;color: #000000;font-family: Tahoma;display:inline'>(.*?)</h1>"; preg_match($najit,$vystup,$cil); echo $cil[1]; |
||
Keeehi Profil |
#4 · Zasláno: 8. 8. 2010, 21:22:03 · Upravil/a: Keeehi
$najit="/<h1 style='font-size: 18px;font-weight:bold;color: #000000;font-family: Tahoma;display:inline'>(.*?)<\/h1>/"; preg_match($najit,$vystup,$cil); var_dump($cil); |
||
misisnik Profil |
#5 · Zasláno: 8. 8. 2010, 21:26:42
no ted uz se vypise ale tohle
array(0) { } |
||
Keeehi Profil |
#6 · Zasláno: 8. 8. 2010, 21:31:58 · Upravil/a: Keeehi
Funguje to.
$vystup="th<h1 style='font-size: 18px;font-weight:bold;color: #000000;font-family: Tahoma;display:inline'>textg fh</h1>rth"; $najit="/<h1 style='font-size: 18px;font-weight:bold;color: #000000;font-family: Tahoma;display:inline'>(.*?)<\/h1>/"; preg_match($najit,$vystup,$cil); echo $cil[1]; |
||
AM_ Profil |
#7 · Zasláno: 8. 8. 2010, 21:35:18
preg_match('~<h1 style=\'font-size: 18px;font-weight:bold;color: #000000;font-family: Tahoma;display:inline\'>(.*?)</h1>~',$vystup,$cil); takhle by to mohlo jít. Pokud je to jediný h1 na stránce, dá se to zjednodušit: preg_match('~<h1[^>]*>(.*?)</h1>~',$vystup,$cil); |
||
misisnik Profil |
#8 · Zasláno: 8. 8. 2010, 21:36:09 · Upravil/a: misisnik
nemam .. mam to řešene takto
$url= "odkaz"; $ch = curl_init($url); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$vars); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $vystup = curl_exec ($ch); curl_close ($ch); $najit="/<h1 style='font-size: 18px;font-weight:bold;color: #000000;font-family: Tahoma;display:inline'>(.*?)<\/h1>/"; preg_match($najit,$vystup,$cil); echo $cil[1]; Ten odkaz je jen příklad ... naště se stránka do proměné a hledá to v to kodu v te proměné |
||
misisnik Profil |
#9 · Zasláno: 8. 8. 2010, 21:38:46 · Upravil/a: misisnik
AM:
No to by slo ale ja ybhc potreboval toho potom vice najit a to bude podle specifikaci celych .. cirou nahodou tam je jen 1x h1 :) ale potřeoval bych to tak jak sem to psal ... edit : když použiju tohle : preg_match('~title>(.*?)</title>~',$vystup,$cil); tak mi to titulek vypíše |
||
Keeehi Profil |
#10 · Zasláno: 8. 8. 2010, 21:46:08 · Upravil/a: Keeehi
AM:
„preg_match('~<h1[^>]*>(.*?)</h1>~',$vystup,$cil);“ A co když ve vstupu bude např.: <h1 onclick="alert('>');">drg</h1> ?
misisnik: [#6] funguje |
||
misisnik Profil |
#11 · Zasláno: 8. 8. 2010, 21:51:27
Keeehi:
ano [#6] funguje .. ale ja potřebuju, aby se hledalo v te promene co jsem si nasel a vlozi do toho tu straku tak je $vystup a to uz nejde |
||
AM_ Profil |
#12 · Zasláno: 8. 8. 2010, 21:52:13 · Upravil/a: AM_
Keeehi:
„A co když ve vstupu bude např.: <h1 onclick="alert('>');">drg</h1>?“ nepředpokládal bych, že autoři CSFD se budou snažit hackovat misisnikův skript. [#9] misisnik je to celé o regulárních výrazech, asi se je budeš muset trochu naučit, vždycky je to maličko magie - někde ti uteče neoescapovaný znak nebo tak... případně se to dá dělat přes různé DOM HTML parsery, což je možná i vhodnější, než lámat to přes reguláry, |
||
misisnik Profil |
#13 · Zasláno: 8. 8. 2010, 21:55:48
na tom csfd to je jedn příklad ...( neberte ze z tama chci "kopirovat" )
takže co .jak to mám udělat kukal sem do goglu amoc sem o tom nenasel :( |
||
Keeehi Profil |
#14 · Zasláno: 8. 8. 2010, 21:56:24 · Upravil/a: Keeehi
misisnik:
„ale ja potřebuju, aby se hledalo v te promene co jsem si nasel a vlozi do toho tu straku tak je $vystup a to uz nejde“ V tom případě se <h1 style='font-size: 18px;font-weight:bold;color: #000000;font-family: Tahoma;display:inline'>co je tady ..</h1> na stránce nevyskytuje.
Ono se to tam doopravdy nevyskytuje neboť je tam 1 důležité ale. Pokud se má vyhledávat na VÍCE ŘÁDCÍCH musí se na konec výrazu napsat s. $najit="/<h1 style='font-size: 18px;font-weight:bold;color: #000000;font-family: Tahoma;display:inline'>(.*?)<\/h1>/s"; AM: To bylo teoretické, pokud by to použil i na jiné vyhledávání třeba někde v odkazu, tak tam by se klidně kus JS vyskytnout mohl. Jen teoreticky, csfd jsem nezkoumal. |
||
misisnik Profil |
#15 · Zasláno: 8. 8. 2010, 22:00:04
heh mockrat děkuju .. takove S a co to dokaze .. mockrat diky všem za pomoc
|
||
Časová prodleva: 14 let
|
0