Dyť tu ve vlákně máš funkci normalize, která funguje správně, akorát si tam přidej chybějící znaky, případně odeber, které nebudou potřeba.
Příklad funkčního kódu (české znaky) založený na té tvé ukázce:
<?php
$data = file_get_contents('http://www.pehapko.cz/zakladni-kurz/6-promenne');
$promo = strtr($data, array(
'Á'=>'A','Č'=>'C','Ď'=>'D','É'=>'E','Ě'=>'E',
'Í'=>'I','Ň'=>'N','Ó'=>'O','Ř'=>'R','Š'=>'S',
'Ť'=>'T','Ú'=>'U','Ů'=>'U','Ý'=>'Y','Ž'=>'Z',
'á'=>'a','č'=>'c','ď'=>'d','é'=>'e','ě'=>'e',
'í'=>'i','ň'=>'n','ó'=>'o','ř'=>'r','š'=>'s',
'ť'=>'t','ú'=>'u','ů'=>'u','ý'=>'y','ž'=>'z'));
$search = "Zakladni kurz";
$pozicia = strpos($promo, $search);
$dlzka = strlen($search);
$usekni_od = $pozicia + $dlzka;
$string = substr($promo, $usekni_od-14,50);
$a = substr($string,strlen($string)-37);
echo $a;