Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_match
Forum PHP.pl > Forum > Przedszkole
canismajoris
Witam

Mam książkę w formie pliku txt.

jak za pomocą preg_match znaleźć nie wyraz a zdanie.

jak daje:

$plik=file("plik1.txt");
$zdanie=("ala ma kota");

foreach ( $plik as $linia => $value ) {
if (preg_match('/'.$zdanie.'/',$value)) {
echo "cos tam";
}}

niby tak powinno być, jednak nie działa, zdania są ale nie wynajduje, same wyrazy bez problemu.
proszę o pomov
z góry dziękuję.
jasin
file pobiera cała zawartość pliku i wrzuca do tablicy gdzie każdy wiersz z pliku to oddzielny element tablicy. Wtedy jeśli zdanie zaczyna się w jednej linii a kończy w drugiej to wówczas go nie znajdziesz. Moze skorzystaj z file_get_contents. I daj selektor do prega \is
tvister
Proponuje sprawdzic czy w zadanym tekscie przerwa pomiędzy wyrazami to rzeczywiście jedna spacja
canismajoris
...dzieki.
a jeżeli zakładając , iż każde zdanie to osobna linia, także nie ma opcji aby zdanie było w dwóch linijkach.
jak można to wykonać?
L00zak
tak jak napisał jasin file_get_contents
a jeśli tylko chcesz sprawdzić czy dane zdanie jest w tekście bez jego zaznaczania to wystarczy

  1. !strpos($plik, 'zdanie') === false
canismajoris
potrzebuję wykonac to w preg_match, chodzi o to jak umieścić zmienną która jest zdaniem?

$zdanie="ala ma kota";

if ( preg_match ('/'.$zdanie.'/',$value)) {

echo $value;

jak za zdanie dam pojedyńczy wyraz to wywala co jest w pliku, jak dam zdanie (ala ma kota)to nie...
chodzi o sam zapis w preg_match - pewnie brakuje jakiegoś cudzysłowiu ale szukam i nie wiem jak to wykonać.
tvister
Spróbuj potestować online http://regexpal.com/
Ewentualnie podaj fragment tekstu w którym jest fraza poszukiwana.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.