Autor Zpráva
Martinek
Profil *
Ahoj můžete mi prosím poradit regulární výraz, který vybere text před a za * (hvězdičkou)?

Pomocí file_get_contents načítám data ze souboru a zjišťuji jestli je tam *.
$hledam = '*';
$kod = file_get_contents('./test.txt' , true);
if (strpos(' '.$kod, $hledam) != FALSE)
{
echo '* tam je.';
}
else
{
echo '* tam neni.';
}


A potřeboval bych regulární výraz, který bych dal na řádek 5 a ten by mi vypsal celé slovo včetně hvězdičky.

Př.: V text.txt mám toto:
Lenka, monika, verka a pavla, která je*ale neumí plavat.
Chtěl bych vypsal je*ale.

Snad je to pochopitelné.
Děkuji za pomoc.
Seith
Profil
Tohle by mělo být řešení tvého problému. Fce preg_match hledá pouze první shodu, poté ukončuje hledání. Pokud by jsi chtěl vyhledat všechny výskyty slov s hvězdičkou, použij preg_match_all - kde nalezené výskyty budeš mít v poli $matches.
$regex = '/\S*\*\S*/';
$kod = file_get_contents('./test.txt' , true);
if(preg_match($regex, $kod, $matches)){
echo $matches[0];
}else{
echo '* tam neni.';
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0