Kildyt tak w tym kodzie
$plik[$los]
to losowa linijka tablicy plik poddana usunięciu znaków pustych.
Doświadczalnie sprawdziłem że
trim nie usuwa mi spacji międzywyrazowych w przypadku linijki wielowyrazowej więc do tego miejsca wydaje się być w porządku.
Teraz w serwisie gdzie to ma działać (kodowanie UTF-8) potrzebuję prawidłowego wyświetlania tekstu linku dla użytkownika i prawidłowego adresu url dla wywołania.
Próbowałem rozdzielić zmienną $slowo na $slowo i $urlslowo
$slowo=trim($plik[$los]);
i uzyskuję nieprawidłowe wyświetlanie zmiennej $slowo plik tekstowy jest kodowany UTF-8
thek dziękuję za sugestię
array_rand potrzebuję losowe, ale doskonałość jest mile widziana.
Teraz tak mi wyszło
<?php
function losowe($ilelosowe,$e){
$plik=file("slownik.txt"); // wczytanie pliku jako tablicy $losowe_klucze= array_rand ($plik,$ilelosowe); // wylosowanie kluczy elementów tablicy for($i=0;$i<$ilelosowe;$i++){ // iteracja
$slowo=urlencode(trim($plik[$losowe_klucze[$i]])); // przypisanie elementu tablicy if($slowo!=""){ // sprawdzenie czy element jest różny od pustego
if($e==1){ // sprawdzenie parametru ekspozycji
echo"<a href='$slowo.html'>$slowo</a>, "; // wyświetlenie adresu }
}
}
}
?>
Natomiast sugestia z mod_rewrite jest nie trafiona.
Nie na każdym serwerze na którym ma to działać będę miał do dyspozycji mod_rewrite.
Jak popatrzysz na
echo"<a href='$slowo.html'>$slowo</a>, ";
zauważysz że funkcja w założeniu miała przekazywać liki już pod mod_rewrite.
Oczywiście kod pokazanej funkcji trochę obciąłem bo w zależności od wartości zmiennej $e
wyświetlany wynik jest nieco inny.