ugrás a tartalomhoz

PHP SEO - Linkek listázása egy weboldalról.

mpdt · 2009. Szep. 13. (V), 13.57
Üdv!

Egy SEO programon dolgozom, amivel majd oldalakról szeretnék tartalmat elemezni. A program első része, ami a meta tageket elemezi az sikeresen elkészült.

Az oldalt úgy elemezem, hogy az oldal forrását lekérdezem és azt elemezgetem. Tehát a forrás megvan. Nos két kérdésem lenne.

Az egyik: Hogyan tudom megoldani, hogy a linkeket a program kilistázza? Tehát például ennél a forrásnál:
------------------------
[code]<html>
<head>
....
</head>
<body>
<a href="http://xy.hu/">Link neve</a>
<a href="index.php">Kezdőlap</a>
<a href="index.php?downloads">Letöltések</a>
<a href="index.php?etc">Stb</a>
</body>
</html>
[code]
-- erre a kimenetre -->
[külső link] Link neve (http://xy.hu/)
[belső link] Kezdőlap (index.php)
[belső link] Letöltések (index.php?downloads)
[belső link] Stb (index.php?etc)
------------------------

A második: Hogy tudnám megoldani azt, hogy a kulcsszavakat is nézze a program? Tehát egy példa szöveg :

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

Ez egy egy példa szöveg szöveg, ami egy <a href="http://akarmi.hu">linket</a> tartalmaz.

-- erre a kimenetre -->

Ez - 1
egy - 3
példa - 1
szöveg - 2
ami - 1
linket - 1

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

Sajnos egyenlőre fogalmam sincs hogy fogjak hozzá. Köszönöm a válaszokat előre is!

Üdv,
Dani.
 
1

Listázás

Poetro · 2009. Szep. 13. (V), 15.29
Hogyan tudom megoldani, hogy a linkeket a program kilistázza?

Egy reguláris kifejezéssel kikeresed a linkeket, és kilistázod: valami ilyesmi regex-re gondolotam:
<a[^>]*href\s*=\s*['"]?([^'"\s]+)(?:['"\s][^>]*)?>.*?</a>

Ha PHP-val elemzed, akkor szavakra bontod, és array_count_values-zal kiszámoltatod.
Például:
$string=<<<__EOS__
Ez egy egy példa szöveg szöveg, ami egy <a href="http://akarmi.hu">linket</a> tartalmaz.
__EOS__;
$values = array_count_values(
  array_filter(array_map('trim', preg_split('/\s|\pP/', strip_tags($string))))
);
foreach($values as $key => $val) {
  print "$key - $val\n";
}
2

Értem

mpdt · 2009. Szep. 13. (V), 15.46
Aham. Értem a lényegét, köszi!
3

vagy DOM

Greg · 2009. Szep. 15. (K), 12.52
igaz hogy xml-hez ajanlott, de html-t is tudsz vele elemezni:
http://uk.php.net/dom
4

Ez tök jó!

mpdt · 2009. Szep. 24. (Cs), 14.47
Ez tök jó dolog..! Illetve átfutottam néhány forrás kódját, de konkrétan pont ez kell nekem! Köszönöm!