Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Jak odczytać tytuł strony?
ilder
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.04.2007

Ostrzeżenie: (0%)
-----


W jaki sposób można (i czy można) odczytać tytuł strony? czyli to co znajduje się pomiędzy znacznikami <title></title>?
Próbowałem już wielu sposobów i nic nie chciało działać.

Z góry dzięki za pomoc.

Ten post edytował ilder 2.09.2007, 14:28:15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 18)
in5ane
post
Post #2





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


Po co Ci to? Przecież tytuł strony masz w nagłówku przeglądarki.


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
Hazel
post
Post #3





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Jak chcesz to "odczytać"?
Możesz to zawsze w zmiennej zapisać, tylko po co? I w ogóle, o co Ci chodzi?


--------------------
Go to the top of the page
+Quote Post
envp
post
Post #4





Grupa: Zarejestrowani
Postów: 359
Pomógł: 1
Dołączył: 16.04.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


preg_match()
Go to the top of the page
+Quote Post
Hazel
post
Post #5





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Wybacz, ale nie zrozumiałem...
Co ma preg_match() do problemu?
Aż tak cieżko kapujący jestem?
Równie dobrze mógłbym napisać:

mysql_unbuffered_query()

i związek byłby taki sam, jak mi sie wydaje tongue.gif


--------------------
Go to the top of the page
+Quote Post
-Wieviór-
post
Post #6





Goście







Jest jeszcze jeden sposób - spojrzeć na taki (zazwyczaj niebieski) pasek u góry koło ikonki przeglądarki (Firefox, Opera ew. Explorer) i przeczytać ;]
Go to the top of the page
+Quote Post
TomASS
post
Post #7





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Kiedyś już o tym pisałem tongue.gif Wystarczyło poszukać smile.gif
  1. <?php
  2. $html = @file_get_contents($location);
  3. if (preg_match ('/<title>(.*?)</title>/is', $html, $match) == false) return false;
  4. else $title = $match['1'];
  5. ?>


--------------------
Go to the top of the page
+Quote Post
kurdak
post
Post #8





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 1.05.2007
Skąd: Gryfino

Ostrzeżenie: (0%)
-----


Określ czy chcesz odczytać tytuł ze strony czy odczytać go z bazy danych i wpisać w miejsce tytułu.
Go to the top of the page
+Quote Post
Hazel
post
Post #9





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Dokładnie, i popraw tytuł topiku, bo nie wiem czemu moderatorzy śpią tongue.gif
Zasady masz tutaj.

Ten post edytował Hazel 1.09.2007, 18:56:57


--------------------
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #10





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




@hazel - chciałbys tongue.gif

@ilder
1. Popraw proszę tytuł‚ topiku na zgodny z zasadami forum Przedszkole

2. Możesz też spróbować poprzez DOM
  1. title = document.title;


Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
envp
post
Post #11





Grupa: Zarejestrowani
Postów: 359
Pomógł: 1
Dołączył: 16.04.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Cytat
Wybacz, ale nie zrozumiałem...


A to już nie moja wina smile.gif

Ten post edytował envp 1.09.2007, 20:47:35
Go to the top of the page
+Quote Post
Hazel
post
Post #12





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Sprzeczałbym się...
Jak TomASS napisał, o co chodziło, to jakoś zrozumiałem dry.gif
Kwestia przekazu - trochę lenistwo Cię zjadło w poprzednim poście dry.gif
A wina leży pośrodku.

Btw, koleś zadał pytanie i dam głowę, ze od tamtej pory nie był na forum i olał sprawę, a topik kwitnie od nikomu niepotrzebnych postów w stylu $this... tongue.gif


--------------------
Go to the top of the page
+Quote Post
ilder
post
Post #13





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.04.2007

Ostrzeżenie: (0%)
-----


Zaglądam tylko nie mam czasu na zastosowanie porad. Ale wielkie dzięki za pomoc. Jutro przeczytam dokładnie i przetestuję porady.
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #14





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Porady poradami, ale temat mogłeś poprawić...
Zamykam i otworzę po skontaktowaniu się ze mna (lub innym moderatorem) poprzez PM.

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
ilder
post
Post #15





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.04.2007

Ostrzeżenie: (0%)
-----


Dokładnie chodzi o to, że używam CMSa Joomla i tytuł jest sklejany z różnych elementów. I chciałem zrobić tak, że w nagłówku <h1> pojawia się ta sama treść co w <title>. Użyłem do tego poniższego fragmentu kodu:

  1. <?php
  2. $menu = $mainframe->get( 'menu' );
  3. $pagetitle = '';
  4. $pagetitle = $menu->name;
  5. echo '<h1>';
  6. echo $pagetitle;
  7. echo '&nbsp;</h1>';
  8. ?>


Niestety kod ten nie działa przy komponencie SOBI2 i nic się nie wyświetla. To jest mój główny komponent.

@TomASS
Niestety kod ten nie działa. Ląduje w return false
A jeżeli pozbędę się if:

  1. <?php
  2. $html = @file_get_contents($location);
  3. preg_match ('/<title>(.*?)</title>/is', $html, $match);
  4. $title = $match['1'];
  5. echo $title;
  6. ?>

to na stronie mam całkowicie pusto w miejscu kodu.

@kurdak
Wydaje mi się, że prościej byłoby odczytywać <title> ze strony.

@Cysiaczek
spróbowałem wykonać:

  1. <?php
  2. $title = document.title;
  3. echo $title;
  4. ?>

efektem był tekst: documenttitle
bez kropki
czy żeby DOM mi działał coś muszę doinstalowywać?
Go to the top of the page
+Quote Post
Hazel
post
Post #16





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Jeśli chodzi Ci o coś takiego, to rację miał Cysiaczek.
A że pomieszałeś JS z PHP, to Ci wyświetla jakieś bzdury.
Prawidłowy kod:
  1. <script type="text/javascript">
  2. var tytul = document.title;
  3. document.write('<h1>' + tytul + '</h1>');


Chyba nigdy w JS nie pisałeś?
Pozdrawiam.

Ten post edytował Hazel 2.09.2007, 15:10:09


--------------------
Go to the top of the page
+Quote Post
ilder
post
Post #17





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.04.2007

Ostrzeżenie: (0%)
-----


dzięki Hazel
rzeczywiście pomieszałem PHP z JS bo i niedużo piszę i wyłącznie na własne potrzeby
raczej zajmuję się e-marketingiem

nie chciałbym jednak stosować rozwiązania które podałeś, bo nie wiem czy prawidłowo zareaguje Google na taki <h1>
wolałbym wykonać to po stronie serwera tylko nie wiem czy jest to możliwe?
Go to the top of the page
+Quote Post
Hazel
post
Post #18





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Oczywiście, że się da.
  1. <?php
  2. $tytul = '<script type="text/javascript">document.write(document.title);</script>';
  3. ?>


added: jeżeli o to chodzi.

Ten post edytował Hazel 2.09.2007, 20:15:10


--------------------
Go to the top of the page
+Quote Post
ilder
post
Post #19





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.04.2007

Ostrzeżenie: (0%)
-----


Moje zachwycenie było tylko chwilowe. Niestety kod jest dalej nie do przyjęcia. W źródle mam to samo:
  1. <h1><script type="text/javascript">document.write(document.title);</script>&nbsp;</h1>


Czy nie ma jakiejś zwykłej zmiennej lub tablicy, która przechowuje tytuł strony?
Kod JS raczej jest nieczytelny dla Google.

--------------------------------

Albo inaczej:
Wiem, w którym miejscu jest tworzony <title>. Jest to inny plik. Czy można jakoś jednorazowo zdefiniować zmienną globalną, która będzie istniała w każdym przetwarzanym pliku? Umieściłbym w nim <title> i nie byłoby problemu.

Ten post edytował ilder 11.09.2007, 19:36:01
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 14:56