Autor Zpráva
Fingon
Profil
Zdravim vsechny!

Mam takovy problem, pouzivam Dreamweaver 8 ke tvorbe stranek a v CSS, ktere mam includovane v kodu mi obcas chybi jednotka pixel (px) u ciselneho atributu jako width. A potreboval bych najit regularni vyraz, kterym bych nasel v kazdem atributu width znamenko ; (strednik) abych ho pak mohl nahradit timto: px;

V CSS mam tyto pripady:

#Layer1 {
width:10px; // (tady to mam s px)

#Layer2 {
width:10; // (tady to mam bez px)

#Layer3 {
width:100; // (tady mam trojciferne cislo misto dvouciferneho - chci aby to fungovalo pro 1 az rekneme 5 ciferna cislo (1-10000) a s px nebo bez px)

V poslednich dvouch pripadech bych potreboval aby mi to vzdycky naslo znamenko ; (strednik) a ja bych ho pak nahradil vyrazem: px; To znamena ze nechci aby mi nasel znamenko ; (strednik) u vyrazu ktery uz px ma (prvni pripad), protoze pak bych tam mel px dvakrat.

Kdybyste mi s tim mohl nekdo poradit byl bych moc rad!

Predem dekuju za kazdou radu. :-)
Joker
Profil
V jakém formátu má být ten regulární výraz?

Takhle je to třeba pro PSPad:
Najít:
(width: *[0-9]+);
Nahradit:
$1px;

Přidal jsem tam ještě volitelnou mezeru za tu dvojtečku, takže to nahradí například "width:10;" i "width: 10;".
V něčem jiném než PSPadu bude možná potřeba ten výraz trochu upravit, hlavně odkaz na tu závorku tam může být jinak než $1
Joker
Profil
dodatek:
Mě napadá, jestli ta šířka nebyl jenom příklad, tak potom by bylo potřeba to projet ještě pro další vlastnosti.
Výraz, který vychytá všechno, by byl:
([0-9]);
...číslo následované středníkem. Ale pak je potřeba to procházet případ po případu, protože by to udělalo třeba i tohle nahrazení:
color: #000000; -> color: #000000px;
Fingon
Profil
(width: *[0-9]+);
Nahradit:
$1px;


Jůůůva, jůůůva!! To fachčí!!! :-D Díky moc! Seš geniální!! Jak sem psal, potřeboval sem to do Dreamweaveru, upravuju naráz asi 100 dokumentů a nechtělo se mi to dělat ručně. Ještě jednou díky za pomoc. Kdybych ještě něco potřeboval tak určitě napíšu.

Zatím se měj! ;-)
Fingon
Profil
Ahoj Jokere :-)

prosimte potreboval bych jeste jednou pomoct s regularnim vyrazem.

A to na to kdyz chci v CSS oznacit cely layer, ktery je shodne oznacen napr. #layer1 , ale ma jiny obsah.
To znamena, ze potrebuju oznacit cely layer se vsim vsudy az po zavorku }
Napriklad:


#Layer1 {
position: absolute;
width: 54px;
z-index:0;
left: 75px;
top: 502px;
}

a

#Layer1 {
position: cokoli;
width: cokoli;
z-index: cokoli;
left: cokoli;
top: cokoli;
}



Diky moc za radu. Zkousel sem ty vyrazy sam, ale nevim jak je kombinovat. :-( Nikde sem nenasel vyraz pro jakykoli znak, jako je treba * ve windows.
Toto téma je uzamčeno. Odpověď nelze zaslat.