Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
czytanie ciągu znaków - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: czytanie ciągu znaków (/thread-czytanie-ciagu-znakow)



czytanie ciągu znaków - dupakurde - 27-07-2011

Witam, proszę o pomoc w stworzeniu dobrze działającego skryptu do pobierania danych z pola textarea.
Mam coś takiego:

Kod:
//textarea (...)
// dane pobrane z textarea
    $dane = $pole2;

$tab=explode("\n", $dane);
echo "<h1> Wynik:</h1>"."<br />"."<hr />";

$array = preg_split("/[\s]/", $dane);
print_r($array);

Dane pobrałem i troszkę rozbiłem je i w zasadzie w dalszej części kodu mógł bym spokojnie dalej obrabiać, ale jeśli gdzieś wystąpi dodatkowa spacja to musiał bym jeszcze sprawdzać całą tablicę i szukać moich danych. Dlatego proszę o pomoc, bo nie mam pomysłu jak to dobrze zrobić.

Dane do textarea będą wklejane w postaci 3 kolumn (nazwa, współrzędne xy, punkty). Problem polega na tym, że mogą(z małym prawdopodobieństwem) się pojawić spacje i współrzędne w nazwie.

Przykład:

Kod:
nazwa    1|42        12351
cos1|251      1|251        53612
naz wa      123|41       1424



RE: czytanie ciągu znaków - Pedro84 - 27-07-2011

Rozbij na linie, potem rozbij na fragmenty jakie chcesz + trim().


RE: czytanie ciągu znaków - dupakurde - 27-07-2011

Przecież mam już rozbite. W $tab są całe linie (nazwa, współrzędne, punkty) dalej jest rozbite w $array wszystko i mam osobno nazwę, współrzędne itd. Wszystko się powtarza i mógł bym już dalej obliczać, tylko jest problem ze szczególnymi przypadkami.

Czyli, jeżeli dane będą podane idealnie to mam:

Array (
[0] => nazwa [1] => 123|241 [2] => 12.3 [3] =>
[4] => druga [5] => 241|515 [6] => 52.1
)
Jeżeli teraz zrobię gdzieś w nazwie spację, to już efekt jest taki:

Array (
[0] => na [1] => zwa [2] => 123|241 [3] => 12.3 [4] =>
[5] => dru [6] => ga [7] => 241|515 [8] => 52.1
)

Właśnie o to chodzi, że jeśli wystąpi nazwa ze spacją to już nie będę mógł pobierać danych za zasadzie 1,5,9,..., tylko przeszukać całą tablicę.