Autor | Zpráva | ||
---|---|---|---|
yellow Profil |
#1 · Zasláno: 4. 7. 2008, 03:50:53 · Upravil/a: yellow
Todle funguje:
preg_match("~<table(.+?)</table>~si", $x, $out); ... ale já tam chci mít definované toto: preg_match("~<table class=\"aaaa\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" width=\"100%\">(.+?)</table>~si", $x, $out); Jak v tom regulárním výrazu správně napsat toto: <table class="aaaa" border="0" cellpadding="2" cellspacing="1" width="100%"> aby mi to fungovalo? Nic mi to nenajde, i když <table class="aaaa" border="0" cellpadding="2" cellspacing="1" width="100%"> tam je v tom načteném souboru. Ani když \" zaměním za tečku Děkuji za rady. |
||
peta Profil |
#2 · Zasláno: 4. 7. 2008, 08:14:21 · Upravil/a: peta
yellow
pouzil bych jednoduche apostrofy '.....' border=\"0\" cellpadding=\"2\" cellspacing=\"1\" width=\"100%\" to bych tam nedaval vubec class=\"aaaa\" tim si nemuzes byt jist, ze ti dodrzi zapis a nekdo ti to da na konec pred > "~<table class=\"..." problem je spis v tom, ze php nejdriv prelouska text v apostrofech do promenne, cili escapujes (znak \) pro php ~<table class="... ted je vsak otazka, je " povoleny nebo zakazany znak, ktery je nutne pro regularni vyraz escapovat? Cili v konecnem dusledku bys musel escapovani zdvojit, mozna ztrojit (pro php prevod stringu a php reg. vyraz), viz cz.php.net/preg_match cz.php.net/ereg "~<table class=\"..." -(php)> ~<table class="... "~<table class=\\"..." -(phpx)> "~<table class=\\" -(php)> ~<table class=\" -(reg)> ~<table class=" (ukazka toho, ze lomitko je escapovaci znak a tudiz samo musi byt escapovanu takze misto apostrofu escapujes lomitko a apostrov pak ukonci retezec driv) "~<table class=\\\"..." -(php)> "~<table class=\" -(reg)> ~<table class=\" |
||
Časová prodleva: 16 let
|
0