Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: säännöllisiä lausekkeita?!

belthaxor [17.05.2009 22:04:32]

#

Hei!

Olen tekemässä eräille VPK -sivuille ohjelmaa, joka poimii RSS:stä (www.112info.fi) 5 viimeisintä Hälytystehtävää suomesta.

Koodi on seuraavanlainen, jolla olen saanut 5 viimeisintä RSS:n tehtävää näkyville:

<?php require_once 'modules/rss/rss_fetch.inc';

$url = 'http://www.112info.fi/tiedotteet/rss.xml';
$rss = fetch_rss($url);
$items = array_slice($rss->items, 5, 5);

echo "<h3>Viimeisimmät hälytykset Suomessa: </h3>";
echo "<table>
		<tr>
			<td>
			Aika:
			</td>
			<td>
			Paikkakunta:
			</td>
			<td>
			Tehtävä:
			</td>
		</tr>";
//$rss->channel['title']
foreach ($items as $item ) {
	$title = $item['title'];
	$url   = $item['link'];
	$desc =	$item['description'];
	echo "<tr>
			<td>

			</td>
			<td>
			<a href=$url target=_blank>
			<font size=2>$title</font></a>
			</td>
			<td>
			$desc
			</td>
		</tr>";
}
?>

Esimerkki koodin tuloksista:

$title tuo seuraavan pötkön:

Espoo/Esbo, tieliikenneonnettomuus: pieni

ja $desc tuo seuraavanlaisen pötkön:

17.05.2009 20:11:05 Espoo/Esbo tieliikenneonnettomuus: pieni

ONGELMA: nuo yhtenäiset pötköt näyttävät tyhmiltä. ja olenkin tehnyt tuonne koodiin jo taulukon valmiiksi. Miten saisin poimittua esim. $desc:stä pelkästään tuon ajan 20:11:05 taulukon ensimmäiseen sarakkeeseen, entä miten saan poimittua toiseen sarakkeeseen pelkästään suomenkielisen -kunnan nimen ja viimeiseen sarakkeeseen tuon hälytystehtävän?!

säännöllisillä lausekkeilla ne varmaan pitää tehdä, mutta yritin jo kovasti eikä siitä tullut mtn! :(

Yst. terv: BHX

Grez [17.05.2009 22:51:33]

#

No tuossa voisi mielestäni vaikka splittailla välilyönnillä.

<?php
  list($pvm, $kello, $kunta, $tehtävä) = split(" ", $desc, 4);
?>

belthaxor [17.05.2009 23:04:08]

#

ei juma!

tuhannet kiitokset! näköjään se on sillain, että kun on olevinaan suuri ongelma niin se vaan on helppo ratkaista, kun vaan osaa!!!

xD

mut hei...jos viel vähän kehitetään niin miten saan poistettua tuosta kunnasta tuon ruotsinkielisen osuuden pois? tämä vaatii ainakin niitä säännöllisiä lausekkeita...kait! :D

ja toinen kysymys: kuinka saan haun tehtyä niin, että se poimisi pelkästään esim. Helsingin kunnan hälytykset?

terv. BHX

Grez [17.05.2009 23:21:22]

#

En kokeillut, mutta tulis mieleen

$kunta = split('/',$kunta)[0];

Voihan ton toki säännöllisillä lausekkeillakin tehdä jos haluaa.

Ja sitten toi pelkän helsingin poimiminen:

if ($kunta=='Helsinki') {
   //näyttämiskoodi tänne
}

Vastaus

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

Tietoa sivustosta