Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie obrazka w zależności od znalezionego na stronie tekstu
Forum PHP.pl > Forum > PHP
Gadzislaw007
Witam.
Jako, że z php/css nie mam dużo wspólnego przychodzę z pytaniem tutaj.
Nie jestem pewien, czy to dobry dział (w razie czego prosiłbym o przenisienia wątku i poinformowanie mnie.
Chciałbym utworzyć plik .php, który wyświetli jeden z obrazków, w zależności od tego, czy odbiorca ma na ekranie wyświetlony pewny tekst.
Docelowo - ma powstać avatar na forum, który dla konkretnego użytkownika będzie wyglądał tak, a dla innego inaczej.
Kod
<?php
header("Content-type: image/png");

if(znajdziesz na stronie "teskt") $avatar = "avatars/ok.png";
else (znajdziesz na stronie "teskt") $avatar = "avatars/no.png";


$newavatar = imagecreatefrompng($avatar);
imagepng($newavatar);
imagedestroy($newavatar);

?>


Czy istnieje parametr/komenda, który mogę zastosować, by funkcja warunkowa zwróciła wartości zgodnie z oczekiwaniami?
styryl
A skąd ten tekst się bierze do szukania?
Gadzislaw007
No właśnie.
Tu jest problem.
Chodzi o to, żeby funkcja miałaby zacząć przeszukiwać całą stronę wyświetloną przez klienta.
I znaleźć tekst znajdujący się chociażby tutaj:


Zwykłego stringa znaleźć potrafię, tylko chodzi o to, żeby program pobrał przeszukiwany tekst ze strony, która się wczytała.
buliq
chcesz to w PHP czy JS?
A jeśli w PHP to jak? skrypt ma wczytać zewnętrzną stronę? czy to co teraz użytkownik wyświetla i ma mu parsować wynik w poszukiwaniu tekstu
Gadzislaw007
Chcę to zrobić tak, żeby mogło się wyświetlać w formie chociażby avatara na forum, przy JS to możliwe?

Skrypt ma wczytać to co teraz się wyświetla użytkotnikowi w oknie przeglądarki (w tym samym, w którym ma wyświetlić sie avatar).

Nie wiem czy jest to w ogóle możliwe, ale wydaje się nie być nieosiągalne.
Dlatego jestem tu na forum.
Nie wiem jak to zrobić, dlatego zapytuję tutaj wink.gif.
styryl
Dalej Cie nie rozumiem. Co chcesz zrobić? Najpierw mówisz o wyszukiwaniu tekstu, teraz o tym co się aktualnie wyświetla. Opisz to po ludzku.
Gadzislaw007
Nie uważam, że to niezrozumiałe, ale postaram się to jakoś wytłumaczyć:

Skrypt ma pobrać od klienta wyświetloną treść w oknie przeglądarki. Taką treść, by wśród niej znalazł się tekst pokazany na obrazku:

I właśnie ten fragment potem ta funkcja ma pobrać, by dowiedzieć się, kto jest osobnikiem oglądający obrazek.
Jeżeli w tym miejscu znajdzie się "Witaj styryl", to zostanie wyświetlony obrazek specjalnie dla Ciebie.

Rozumiesz teraz?
styryl
Teraz już lepiej. Jak rozumiem to ma się dziać na Twojej stronie, w takim razie jeżeli chcesz to zrobić w js to porostu pobierasz ten tekst i umieszczasz go w odpowiednim miejscu.

W jquery:

  1. $("elemnt_docelowy").html( $("elemnt_z_tekstem" ).text() );
Dejmien_85
Godzisławie,

1. Czy tekst ma być pobierany z tylko i wyłączniej z twojej strony (np. www.godzisław.pl).
2. Czy tekst ma być pobierany ze stron zewnętrznych, czyli przychodzi do Ciebie użytkownik Jasiu, wchodzi na www.godzisław.pl, następnie w Godzisławskim Okienku Na Świat (tak nazwijmy okienko na Twojej stronie, przez które można przeglądać inne strony - będąc cały czas na Twojej stronie) przegląda sobie inne strony (np. www.facebook.pl itd) i pobiera z nich tekst?

PS Podejrzewam, że chodzi o opcję nr 2.
Gadzislaw007
Proszę państwa.
Cały cyrk polega na tym, że to nie ma się dziać na mojej stronie, tylko na KAŻDEJ, NA KTÓREJ FUNKCJA JEST WEZWANA.
Tzn.
Zamykam to w formie pliku generate.php, który ma zwracać wartość, jakby był plikiem PNG, w związku z czy mogę go zamknąć na tagu [img].
Zupełnie tak jak plik: http://gadzik.cba.pl/avatar/generate.php , który po wywałoniu go jako obrazek pokazuje losowy avatar. (nieszczęśliwie to forum blokuje używanie tagu img przy tym typie pliku, ale na innym forum to działa)


Ok, teraz jak to ma działać.
Użytkownik loguje się przy pomocy loginu np:
Robert11
Wchodzi w temat, gdzie ja się udzielam.
Strona mu się załadowuje, w pewnym momencie natrafia na moją funkcję przywołaną w tagu [img]
Funkcja szybciutko przegląda stronę, którą otworzył Robert11, w poszukiwaniu napisu "Witaj Robert11".
Jeśli funkcja znajdzie taki napis (a znajdzie, jeśli stronę otworzy ten robert) to przydzielimy mu obrazek "...robert11.png", jeśli ktoś inny, nieokreślony w funkcji, to wyświetli się obrazek "...inny.png".

Czy teraz to jest jasne?

Moim celem jest dostanie się do tekstu, który jest wyświetlany u użytkownika, bez względu na jakiej stronie się znajduje - chodzi o konkretny tekst, który pojawia się tylko JEMU.

Przepraszam za tak długie tłumaczenie (w tylu postach!), ale myślałem, że mój cel jest bardziej zrozumiały.
Mam nadzieję, ktoś będzie w stanie mi pomóc i z góry dzięki za wyrozumiałość!
buliq
Nie da się.

@edit:
Bynajmniej nie na forum, wymaga to użycia JS chociażby w celu wysłania zawartości strony do serwera z PHP
Kshyhoo
Cytat(buliq @ 29.08.2013, 12:12:54 ) *
Nie da się.

CURL + wyrażenia regularne?
buliq
@up czytałeś dobrze?

Jak ma pobrać zawartość którą widzi użytkownik z cURL?
zegarek84
dodatkowa podpowiedź poniżej, jak nie masz tej wartości to ktoś bezpośrednio wchodzi na ten obrazek lub ma coś zablokowane w przeglądarce/firewalu... dodatkowo możesz sobie informacje w sesji zapisywać...
$_SERVER['HTTP_REFERER']
The address of the page (if any) which referred the user agent to the current page. This is set by the user agent. Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trusted.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.