Registrace  •  FAQ  •  Pravidla fóra  •  Uživatelské blogy  •  PCTuning.cz  •  Hledat  • Přihlášení
 • Funkce report, slouží pro upozornění na porušení pravidel, ne vzkazy moderátorům.

Právě je pá 26. únor 2021, 22:52

Zobrazit příspěvky bez odpovědiZobrazit aktivní témata



Čas je uváděn v UTC + 1 hodina


Odpovědět na téma  [ 3 příspěvků ] 
Autor Zpráva
 Předmět: PHP: regexp [regulérní výrazy] PHP
PříspěvekZaslal v: po 31. srpen 2020, 16:39 
Začátečník
Začátečník

Založen: 30. červenec 2011
Bydliště: Praha
Nahoru
Vyzná se tu někdo v regulérních výrazech?

Potřebuju jedním preg_replace() v php odstranit všechny prázdné buňky v tabulce.

Prázdné buňky vypadají asi takto:
<TD bgcolor=#D0D1D2 width=1></TD>
<TD width=1 bgcolor=#D0D1D2></TD>
případně
<TD nějaký jiný bordel></TD>

Přikaz níže mi bohužel odstraní kompletně celou tabulku.
$data = preg_replace("/\<td(.*)\>\<\/td\>/iU", "", $data);

Nechápu proč, když mám v reg výrazu část "><" bez uvozovek, což určuje prázdné buňky.

_________________
ROBOCRAFT - web o hře Robocraft | SPACEENGINEERS - web o hře Space Engineers | TUNNGLE - ultimátní nástroj pro hráče | WOTANKS - web o hře World of Tanks | HANSPAULKA - Hanspaulská liga malé kopané


Naposledy upravil Jey dne po 31. srpen 2020, 20:56, celkem upraveno 2x.

 Profil  
 Předmět: Re: PHP: regexp [regulérní výrazy] PHP
PříspěvekZaslal v: po 31. srpen 2020, 20:26 
Začátečník
Začátečník

Založen: 30. červen 2005
Bydliště: Brno
Nahoru
Nebude to proto, ze ".*" muze byt cokoliv, tedy i nekolik bunek najednou?

Tedy z kodu:
<TD bgcolor=#D0D1D2 width=1></TD>
<TD bgcolor=#D0D1D2 width=1>Neni prazdna</TD>
<TD nějaký jiný bordel
></TD>

Bere to cervene jako .*?

Zkus to zmenit treba na:
$data = preg_replace("/<td([^<>]*)><\/td>/iU", "", $data);

_________________
Lenovo Thinkpad X220 (i5 2410M, 16GB RAM, HD3000, 500GB mSata Samsung 850 EVO + HDD 1TB, 12.5" IPS) + Mini Dock Plus Series 3 + 29" LG 29UM65 + 22" Eizo S2202W


 Profil  
 Předmět: Re: PHP: regexp [regulérní výrazy] PHP
PříspěvekZaslal v: po 31. srpen 2020, 20:30 
Začátečník
Začátečník

Založen: 30. červenec 2011
Bydliště: Praha
Nahoru
Cau, diky. Prave jsem se v tom dovrtal. Nakonec jsem zjistil, ze redakcni system webu neakceptuje vsechny druhy zapisu regexp.

Ale objevil jsem alespon skvely nastroj https://regex101.com/ kde se daji regexpy testovat online.

Nakonec jsem prisel na zapis, co uvadis, ktery jsem jeste doupravil dle potreby.

$data = preg_replace("/\<td[^>]*\>\<\/td\>/iU", "", $data);

_________________
ROBOCRAFT - web o hře Robocraft | SPACEENGINEERS - web o hře Space Engineers | TUNNGLE - ultimátní nástroj pro hráče | WOTANKS - web o hře World of Tanks | HANSPAULKA - Hanspaulská liga malé kopané


 Profil  
Zobrazit příspěvky za poslední:  Řadit podle  
Odpovědět na téma  [ 3 příspěvků ] 


Čas je uváděn v UTC + 1 hodina


Přejít do sekce:
  

Kdo je přihlášený

Uživatelé procházející si tuto sekci: Žádní registrovaní uživatelé a 2 anonymních


Nemůžete zakládat nová témata v této sekci
Nemůžete odpovídat na příspěvky v této sekci
Nemůžete upravovat své příspěvky v této sekci
Nemůžete mazat své příspěvky v této sekci
Nemůžete připojit přílohy v této sekci

 
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Český překlad - PCT fórum, Zásady ochrany osobních údajů.