<?php

function vybrat_z_textu($prom2_pozice, $prom1, $znak1, $znak2, $string)
{
	// vstupni kontrola
	if (strlen($prom1) < 1)
		$nalez = true;
	else
		$nalez = false;

	if (strlen($string) < 1)
		return;



	// zjisti delku textu
	$prom_lenght = strlen($prom1);
	$string_lenght = strlen($string);

	// prom2_pozice by mela obsahovat cislo v poradi znaku - tedy zacni na 
	// patem znaku => $prom2_pozice = 5;
	$i = $prom2_pozice - 1;
	// probiha hledani klicove fraze $prom1 v textu
	while (($nalez != true) || ($string_lenght >= ($i + 1)))
	{
		// pokud prvni znak klic. fraze je shodny se znakem, ktery je na rade
		if ($string[$i] == $prom1[0])
		{
			// zjisti zdali dalsi znaky jsou shodne
			$n = $i + 1;
			for ($j = 1; $j <= ($prom_lenght - 1); ++$j)
			{
				if ($string[$n] != $prom1[$j])
					break;
				else
					$uspech = true;
				++$n;
			}

			// pokud jsou dalsi znaky shodne, "vrati" pozici po klic. frazi
			if ($uspech)
			{
				$i = $n;
				break;
			}
		}


		++$i;
	}


	// vyhleda obe pismena
	$pozice_prvniho = 0;
	$pozice_druheho = 0;
	while (($nalez_druheho != true) || ($string_lenght >= ($i + 1)))
	{
		if ($string[$i] == $znak1)
			$pozice_prvniho = $i;

		if ($string[$i] == $znak2)
		{
			$pozice_druheho = $i;
			$nalez_druheho = true;
		}

		++$i;
	}


	// vybere a vrati text mezi znaky
	return substr($string, $pozice_prvniho + 1, 
					($pozice_druheho - $pozice_prvniho) - 1);
}

// vstupni data
$prom1 = "neco";
// predpokladam ze je zde pozice, na ktere ma zacit vyhledavat
$prom2_pozice = 1;
$znak1 = "S";
$znak2 = "E";

// vstupni text
$string = "Toto je cvicny text. Jde pouze o to, aby zde program nasel 
	slovo Neco NECO NeCo neco (zkouska) a potom pismeno S a mezi tim ma byt text - tedy je zde. 
	Nyni jiz musi najit pismeno E. A je to.";

var_dump(vybrat_z_textu($prom2_pozice, $prom1, $znak1, $znak2, $string));



?>