canismajoris
29.12.2012, 01:52:21
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
29.12.2012, 11:30:22
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
29.12.2012, 12:18:38
Proponuje sprawdzic czy w zadanym tekscie przerwa pomiędzy wyrazami to rzeczywiście jedna spacja
canismajoris
29.12.2012, 16:38:34
...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
30.12.2012, 00:58:24
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
!strpos($plik, 'zdanie') === false
canismajoris
30.12.2012, 12:53:37
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
30.12.2012, 23:08:56
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.