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


Użytkownik



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



Administrator




Użyj preg_split zamiast explode.
Offline


Stary wyjadacz :P



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





Bicycle repairman






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



Użytkownik
Strony: 1