Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tagi tietojen hakeminen tekstitiedostosta

WKoA [06.05.2009 14:13:44]

#

Ongelmanani on että tahtoisin poimia toisella serverillä sijaitsevasta tekstitiedostosta tiettyjä kohtia.

Normaali jakomerkin käyttö, esim. #, & tai jokin muu onnistuu. Nyt on tarvetta saada tekstitiedostosta vaikkapa kahden tagin välinen tekstijono.
esimerkki.txt

tässä on vaikka mitä tekstiä <kuvaus>Kohteen kuvaus</kuvaus> mutta tagin tiedot pitäisi vain hakea

Yllä olevasta pätkästä pitäisi siis saada <kuvaus> tagien välinen tekstitieto poimittua, mutta en oikein tiedä mistä aloittaa?

Metabolix [06.05.2009 14:18:09]

#

Aloita preg_match(_all)-funktiosta ja säännöllisistä lausekkeista kertovasta oppaasta. Lisäksi voisit lukea tämän vast'ikään käydyn keskustelun. Voit käyttää myös funktioita strpos ja substr, jolloin siis haet aina ensin alkukohdan ja sitten sitä seuraavan loppukohdan ja poimit näiden välistä tekstin substr-funktiolla.

Antti Laaksonen [06.05.2009 15:06:49]

#

Käytännössä koodi voisi olla suunnilleen seuraava:

<?php

$teksti = "Tästä <abc>tekstistä</abc> pitää poimia <abc>vain</abc> osa.";

preg_match_all("/<abc>(.*?)<\/abc>/", $teksti, $taulu);

foreach ($taulu[1] as $tulos) {
    echo "<li>" . $tulos;
}

?>

peg [06.05.2009 20:05:02]

#

Toi Antin on hyvä, mutta tämäkin toimii.

<?php
$teksti = "STRSTR ja STRREV - alku jää pois ja esimerkki tulostaa haettujen sanojen välisen merkkijonon ja loppu jää pois.<br>";

$alku = "alku";
$loppu = strrev("jonon");
$teksti = strstr($teksti, $alku);
echo strrev(strstr(strrev($teksti),$loppu) );
?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta