Kuinka etsiä (PHP:ssä) joku tekstinpätkä, ja sitten ottaa sen sisältö siitä niin kauan kunnes löytyy seuraava tietty tekstinpätkä (siis erilainen kuin ensimmäinen)?
Haetkohan kenties tällaista (testaamatonta koodia sitten!):
<?php
$mjono = "Tässä hieman tekstiä tämän esimerkin pikaiseen testaukseen";
$haku1 = "hieman";
$haku2 = "pikaiseen";
$haku1_pos = strpos($haku1, $mjono);
$haku2_pos = strpos($haku2, $mjono);
if ($haku1_pos === false) { exit("1. merkkijonoa ei löytynyt"); }
if ($haku2_pos === false) { exit("2. merkkijonoa ei löytynyt"); }
$sisalto = substr($mjono, $haku1_pos, $haku2_pos - $haku1_pos);
echo "Sisältö: " . $sisalto;
?>Tuo tarttee varmaan vähän säätöjä. Tuollaisena tulostaa tuon 'eka-falsen'.
lainaus:
Tuo tarttee varmaan vähän säätöjä. Tuollaisena tulostaa tuon 'eka-falsen'.
Niinpä näyttääkin. strpos:lle oli mennyt parametrit väärin päin eli yo. koodi pitäisi olla tällainen:
<?php
$mjono = "Tässä hieman tekstiä tämän esimerkin pikaiseen testaukseen";
$haku1 = "hieman";
$haku2 = "pikaiseen";
$haku1_pos = strpos($mjono, $haku1);
$haku2_pos = strpos($mjono, $haku2);
if ($haku1_pos === false) { exit("1. merkkijonoa ei löytynyt"); }
if ($haku2_pos === false) { exit("2. merkkijonoa ei löytynyt"); }
$sisalto = substr($mjono, $haku1_pos + strlen($haku1), $haku2_pos - $haku1_pos - strlen($haku1));
echo "Sisältö: " . $sisalto;
?>Lisäksi muutin sitä sen verran, että $sisalto muuttujaan tulee ainoastaan se teksti mikä on sanojen "hieman" ja "pikaiseen" välissä, joten tulokseksi tulee "tekstiä tämän esimerkin"
Aihe on jo aika vanha, joten et voi enää vastata siihen.