Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam! Mam taki problem odnośnie dzielenia wyrazów za pomocą explode.
Mianowicie mam plik txt z mniej więcej taką treścią:
testettstststts 222222 teestttett
tetadt 2345 uweqweihq
poipoio 09876 qwqwqwqwq
następnie kod:
$plik = fopen("plik.txt", "rb"); while (!feof($plik)) { $linia_text = fgets($plik); $linia_dane = explode(" ", $linia_text); echo $linia_dane[1]."<BR>";
Oczywiście wynik jest taki że wyświetla mi różnie dane ponieważ gdzieniegdzie są dwie lub trzy a nawet cztery spacje.
Ma ktoś może pomysł jak to rozwiązać abym miał w konkretnej zmiennej tekstową daną?
Czyli w tym przypadku dla $linia_dane[1]:
222222
2345
09876
Był bym wdzięczny za podpowiedź.
Ostatnio edytowany przez debbie (2011-06-06 12:12:36)
Offline
Użyj preg_split zamiast explode.
Offline
kiedyś coś takiego naskrobałem :
$text = substr(preg_replace('((?<=\W)\'|\'(?=\W))', '', $text), 1, -1); $text = preg_replace('/[\^\$&\(\)<>`"\|,@_\?%~\+\[\]{}:=\/#\\\\;!\*\.\s]+/', ' ', $text); $text = preg_replace(array('/(\W)(\w{1,2})\040/', '/^(\w{1,2})\040/', '/\040(\w{1,2})(\W)/', '/\040(\w{1,2})$/'), array('$1', ' ', '$2', ' '), $text); $words = array_unique(explode(' ', $text));
Ostatnio edytowany przez szewczyk (2011-06-07 14:27:43)
Offline
A ja proponuję użyć fgetcsv.
A co do drugiego to chyba wystarczy stworzyć tablicę i dodawać do nie drugi element z każdej zwróconej przez fgetcsv tablicy.
Ale ja tam na php się nie znam.
Offline
Strony: 1