Autor Zpráva
yellow
Profil
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
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=\"

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0