Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Da li je tekst u boji pozadine?

[es] :: Advanced PHP :: Da li je tekst u boji pozadine?

[ Pregleda: 2756 | Odgovora: 11 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Vas

Član broj: 27052
Poruke: 47
*.neobee.net.



Profil

icon Da li je tekst u boji pozadine?29.03.2005. u 10:47

Trebam da pretrazim stranicu i odbacim sav tekst koji je u boji pozadine (nevidljiv). Pregledao sam neke postove i mislim da se to moze uraditi sa preg_match_all, ali ne znam kako.
Molim pomoc.
29.03.2005. u 10:47 

Vas

Član broj: 27052
Poruke: 47
*.neobee.net.



Profil

icon Re: Da li je tekst u boji pozadine?30.03.2005. u 13:18
Evo sta sam uspeo do sada da uradim:

Code:

$text="http://localhost/test/test1.htm";
$keywords = @implode('', file($text));
$bojaPozadine="\"#C0C0C0\"";
$pattern="/(<font color=".$boja.">)(.*)(<\/font>)/";
$string="<b>OVDE JE SKRIVENI TEKST</b>";
$rezultat=preg_replace($pattern, $string , $keywords);
echo $rezultat;


Ovo radi onako kako i treba da radi (ispisuje poruku umesto teksta u odredjenoj boji), ali imam problem jer promenljivu $bojaPozadine (bgcolor) moram da nadjem programski, a ne da je upisujem u kod.
30.03.2005. u 13:18 

Jbyn4e
Admin/Developer, Yunix
Zrenjanin - Beograd

Član broj: 422
Poruke: 3066
*.vdial.verat.net.

ICQ: 10450578
Sajt: bio sf.co.yu


Profil

icon Re: Da li je tekst u boji pozadine?30.03.2005. u 13:43
Pa koristi slicnu funkciju, recimo preg_match:
http://www.php.net/manual/en/function.preg-match.php
samo moras naci nacin na koji ces da saznas sta je boja pozadine - da li je upisana u body tag, ili je samo pozadina celije ili cele tabele,ili se nalazi u css-u negde....tako da to ce ti biti koliko ja vidim sizifov posao...
30.03.2005. u 13:43 

noviKorisnik

Član broj: 13216
Poruke: 4513
194.247.222.*



Profil

icon Re: Da li je tekst u boji pozadine?30.03.2005. u 14:48
Evo, snimi ovo kao test1.htm
Code:

<html>
<head>
<title>t</title>
<style>
.red
{
    color: red;
}
.f00
{
    color: #f00;
}
.ff0000
{
    color: #ff0000;
}
</style>
<head>
<body bgcolor="#FF0000" text="#0000FF">
<span class="red">crveno</span><br />
<span class="f00">opet crveno</span><br />
<span class="ff0000">i - crveno...</span><br />
<b>hello world</b>
</body>
</html>
30.03.2005. u 14:48 

Vas

Član broj: 27052
Poruke: 47
*.adsl.sezampro.yu.



Profil

icon Re: Da li je tekst u boji pozadine?30.03.2005. u 19:02
Razmisljao sam o problemu sa pozadinom celija ili tabela, ali mi css nije pao na glavu (pamet). Posle Dejanovog posta sve sam blizi odustajanju od ovog problema.
Ako se neko nesto seti - seti se, ako ne nikom nista...

Hvala
30.03.2005. u 19:02 

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 2371
*.nat-pool.bgd.sbb.co.yu.

Jabber: grakic@jabber.org
Sajt: blog.goranrakic.com


Profil

icon Re: Da li je tekst u boji pozadine?30.03.2005. u 20:30
Problem jeste komplikovan, ali opet moguce ga je resiti u velikom broju slucajeva. Dakle, prvo trebas napisati kod koji svaku boju pretvoriti u njenu HEX vrednost. Dakle, boja se moze zadati imenom (tipa 'red'), RGB oznakom (0,0,0) ili heksadecimalnim kodom (#ffffff) koji moze biti u skracenom (#fff) ili punom obliku.

E sada, trebas pohvatati boju pozadine dela stranice gde se taj tekst nalazi kao i boju samog teksta. Boja teksta moze biti zadana font tag-om, color atributom BODY tag-a ili preko CSS-a. Boja pozadine elementa moze biti zadata bgcolor atributom BODY-a, ili background tag-om elementa ili preko CSS-a.

Dodatno, boje mogu biti promenjene preko JavaScript DOM-a sto nije tesko detektovati jer se pristupa ".style" parametru.

Dakle, ti bi trebao napisati HTML parser koji bi ucitavao sve CSS-ove (@import ili preko link-a), a onda u DOM stilu izparsirao HTML i na kraju ga obisao redom uporedjujuci aktuelnu boju pozadine i boju teksta. Nije nemoguce, ali treba dosta vremena. Kao ohrabrenje - recimo da je interesantno i da ces imati ozbiljno parce koda kada ovo zavrsis.

Pogledaj ove linkove:
http://www.sitepoint.com/article/coming-soon-webserver-near/15
http://www.carrubbers.org/scripts/php/xpath/
i eventualno http://tidy.sourceforge.net

http://sr.openoffice.org — slobodan kancelarijski paket, zamena za MS Office, na srpskom i engleskom, legalno bez troškova licenciranja
30.03.2005. u 20:30 

dinke
Dragan Dinić
General Manager / Lampix.net
Kragujevac

Član broj: 933
Poruke: 1001
*.kg.sbb.co.yu.

ICQ: 119594081
Sajt: www.dinke.net


Profil

icon Re: Da li je tekst u boji pozadine?31.03.2005. u 09:05
Svojevremeno sam radio na problemu koji pominjes prilikom testiranja za Internet Krstaricu, ne bi me iznenadilo da je isti test u pitanju. Obzirom da je kompletnu proveru zbog svih mogucih css tagova jako tesko izvrsiti do kraja, ja sam se ogranicio na html sto i tebi preporucujem ako je to neki test zadatak (sto mislim da jeste). Ako ti znaci mogu da iskopam kompletan kod iz nekog starog backup-a pa da postujem ovde.
31.03.2005. u 09:05 

Vas

Član broj: 27052
Poruke: 47
*.neobee.net.



Profil

icon Re: Da li je tekst u boji pozadine?01.04.2005. u 11:09
Tako je, u pitanju je Krstarica. I bas sam uradio kako si i predlozio. Uradio sam taj test bez provere boje font/pozadina tako da ne moras da se mucis i trazis kod.
U svakom slucaju, hvala.

PS. Skrecem sa teme, ali me interesuje sta su ti odgovorili posle svih testova.
01.04.2005. u 11:09 

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 671
62.162.215.*

Sajt: www.x.net.mk


Profil

icon Re: Da li je tekst u boji pozadine?06.04.2005. u 12:53
A zasto ti treba tekst da bude istom bojom sa pozadine? Pogledaj malo forum Pretrazivaci, videces da to ti je losi poteg (ako nisam loso pretpostavio)
routing protocols enable routers to route routed protocols!
06.04.2005. u 12:53 

leka
Dejan Lekić
senior software engineer, 3Developers Ltd.
London, UK

Član broj: 234
Poruke: 2530
..31.216.81.gus.vf.siwnet.net.

Sajt: dejan.lekic.org


Profil

icon Re: Da li je tekst u boji pozadine?11.05.2005. u 14:04
Iako zvuci lako, ovo je velika koska...
Da bi se ovo odradilo kako treba covek mora da ima vise stvari u dzepu:
- Odlican CSS parser.
- Odlican HTML parser.
- JavaScript interpreter.

Ovo sve treba da bude u samoj PHP aplikaciji. Kao sto Goran rece za gomilu slucajeva je dovoljno imati samo odlican HTML parser, ali sta ako covek menja pozadinu javaskriptom? Sta ako koristi CSS Level 2? Za ovakve slucajeve PHP aplikacija treba da parsira CSS fajl(ove) i pronadje informacije o boji strane koja se trenutno obradjuje. Ostaje zadnji problem - sta ako covek menja boju strane dinamicki, JavaSkriptom? Za prosto resenje ovog slucaja coveku treba JavaScript interpreter koji ce da interpretira sve skriptove koji se "uvlace" u stranu.

Poprilicno komplikovano... rekao bih da kompletnog resenja NEMA.
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
11.05.2005. u 14:04 

_owl_
Centar - BG

Član broj: 318
Poruke: 989
*.vdial.verat.net.

Sajt: home.drenik.net/~owl


Profil

icon Re: Da li je tekst u boji pozadine?11.05.2005. u 14:38
A jos sve to treba odraditi za Dz. Pretpostavljam da ce se vremenom (ako vec ne postoje) naci par HTML (i CSS parsera) uradjenih u PHP-u.
Owl
11.05.2005. u 14:38 

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 671
62.162.212.*

Sajt: www.x.net.mk


Profil

icon Re: Da li je tekst u boji pozadine?11.05.2005. u 18:21
Ako hoces da trazis nevidljiv tekst, onda obrati paznju na sledece:

Code:

................
.nevidljiv {
   display:none;
}

..................

<span class="nevidljiv">ovo je takodje nevidljiv tekst.
Cak sto vise vise nevidljiviji nego ako koristis font-color.</span>



routing protocols enable routers to route routed protocols!
11.05.2005. u 18:21 

[es] :: Advanced PHP :: Da li je tekst u boji pozadine?

[ Pregleda: 2756 | Odgovora: 11 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.