Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]preg_match, jak znaleźć zdanie
canismajoris
post 29.12.2012, 01:52:21
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 11.01.2012

Ostrzeżenie: (0%)
-----


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ę.
Go to the top of the page
+Quote Post
jasin
post 29.12.2012, 11:30:22
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 32
Dołączył: 21.08.2008
Skąd: Toruń

Ostrzeżenie: (0%)
-----


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

Ten post edytował jasin 29.12.2012, 13:12:27


--------------------
Go to the top of the page
+Quote Post
tvister
post 29.12.2012, 12:18:38
Post #3





Grupa: Zarejestrowani
Postów: 253
Pomógł: 29
Dołączył: 18.08.2008

Ostrzeżenie: (0%)
-----


Proponuje sprawdzic czy w zadanym tekscie przerwa pomiędzy wyrazami to rzeczywiście jedna spacja


--------------------
Kto rano wstaje ten leje jak z cebra.
Go to the top of the page
+Quote Post
canismajoris
post 29.12.2012, 16:38:34
Post #4





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 11.01.2012

Ostrzeżenie: (0%)
-----


...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ć?
Go to the top of the page
+Quote Post
L00zak
post 30.12.2012, 00:58:24
Post #5





Grupa: Zarejestrowani
Postów: 58
Pomógł: 5
Dołączył: 2.05.2006

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
canismajoris
post 30.12.2012, 12:53:37
Post #6





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 11.01.2012

Ostrzeżenie: (0%)
-----


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ć.
Go to the top of the page
+Quote Post
tvister
post 30.12.2012, 23:08:56
Post #7





Grupa: Zarejestrowani
Postów: 253
Pomógł: 29
Dołączył: 18.08.2008

Ostrzeżenie: (0%)
-----


Spróbuj potestować online http://regexpal.com/
Ewentualnie podaj fragment tekstu w którym jest fraza poszukiwana.


--------------------
Kto rano wstaje ten leje jak z cebra.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 17:50