Hei,
Taistelin eilen tällaisen mahdollisesti pienenkin ongelman kanssa:
-Jonkun putkan esimerkin mukaan haetaan muualta verkkosivu:
file_get_contents("www.esimerkkisivu.fi");
-Toisen putkan esimerkin pohjalta preg_match_all funktiolla haetaan sivulla olevat linkit taulukoksi. Eli tämän mallin mukaan:
<?php $teksti = "Tässä <a href=\"lause.html\">lauseessa</a> on " . "<a href=\"viisi.html\">viisi</a> sanaa."; $lauseke = "/<a href=\"(.*?)\">(.*?)<\/a>/"; preg_match_all($lauseke, $teksti, $linkit); foreach ($linkit[1] as $linkki) { echo $linkki . "<br>"; } ?>
Mutta tässä tuli ongelma, kun jos sama linkki esiintyy sivulla useamman kerran, se tulee yhtä monta kertaa tuohon taulukkoon. Kun ajatus olisi poimia jokainen vain kertaaleen. Googlettelemalla löytynyt array_unique(); ei toiminut tässä yhteydessä.
Miten tuon taulukon voisi järjestää niin että päällekkäisyydet poistuvat, vai pitäisikö tämä tehdä alun alkaen jollain toisella tavalla?
Kiitos.
Miksei array_unique() toiminut? Miten käytit sitä?
Grez kirjoitti:
Miksei array_unique() toiminut? Miten käytit sitä?
Arvatenkin kutsui arraylle tuota funktiota ja oletti sen muuttuvan sen sijaan että olisi ottanut paluuarvon talteen ja käyttänyt sitä.
Muoks: tarkistin manuaalin, osoitteet ovat yksin taulukossa $linkit[1].
Aihe on jo aika vanha, joten et voi enää vastata siihen.