Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] wycinanie znaków z ciągów
jakkolwiek
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 17.07.2008
Skąd: Wrocław

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


Witam wszystkich!

piszę sobie skrypt na własne potrzeby i częściowo problem rozwiązałem. Mam problem natomiast
z dokończeniem tego i bardzo proszę o wskazówki czy rady.

Skrypt ma za zadanie z wpisanych do pola textarea ciągów wycinać tylko 3 pierwsze znaki.
Np. do textarea zostają wprowadzone następujące dane:
Kod
000111222
000222333
000333444
000555666
000777888

w wyniku po wykonaniu skrypt ma wyświetlać taki wynik:
Kod
111222
222333
333444
555666
777888


Skrypt aktualnie wycina trzy pierwsze znaki z pierwszego podanego ciągu.
Nie wiem jak zrobić pętlę, która napotykając na znak nowego wiersza znowu wycina
trzy pierwsze znaki, aż do kolejnego napotkanego znaku nowego wiersza.

Oto mój kod:

  1. <body>
  2. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method=POST>
  3. <textarea rows="14" cols="19" name="nbr"></textarea><Br>
  4. <input type="submit" value="obetnij!">
  5. </form>
  6. <?php
  7. echo(nl2br($_POST['nbr']));
  8. echo("<br><BR>");
  9. $wycnum = substr($_POST['nbr'], 3);
  10. echo($wycnum);
  11. echo("<br><BR>");
  12. ?>


Bardzo proszę o pomoc!


--------------------
--
Pozdrawiam serdecznie,
P. M. R.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nexis
post
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


  1. <?php
  2. $text = "000111222\n000222333\n000333444\n000555666\n000777888";
  3. $text = explode(PHP_EOL, $text);
  4. foreach ($text as $row) {
  5.  echo substr($row, 3) . '<br />' . PHP_EOL;
  6. }
  7. ?>


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
JoShiMa
post
Post #3





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Najpierw za pomoca explode zrzuć ten tekst do tablicy. Potem przeprowadź na każdym polu tablicy operację funkcją substr albo użyj na tej tablicy funkcji substr_replace

Ten post edytował JoShiMa 22.07.2008, 12:47:40


--------------------
Go to the top of the page
+Quote Post
jakkolwiek
post
Post #4





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 17.07.2008
Skąd: Wrocław

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


Cytat(nexis @ 22.07.2008, 13:45:18 ) *
  1. <?php
  2. $text = &#092;"000111222\n000222333\n000333444\n000555666\n000777888\";
  3. $text = explode(PHP_EOL, $text);
  4. foreach ($text as $row) {
  5.  echo substr($row, 3) . '
  6. ' . PHP_EOL;
  7. }
  8. ?>


wielkie dzięki! Skrypt nexisa po lekkiej modyfikacji okazał się dokładnie tym co mi jest potrzebne!

ERRATA:
Może się komuś przyda, więc wklejam końcowy kod:
  1. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method=POST>
  2. <textarea rows="22" cols="19" name="nbr"></textarea><Br>
  3. <input type="submit" value="obetnij!">
  4. </form>
  5. <?php
  6. $text = $_POST['nbr'];
  7. $text = explode("\n", $text);
  8. foreach ($text as $row) {
  9. echo substr($row, 3) . '<br />';
  10. }
  11. ?>


Ten post edytował jakkolwiek 22.07.2008, 13:04:00


--------------------
--
Pozdrawiam serdecznie,
P. M. R.
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 Aktualny czas: 22.08.2025 - 07:48