Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] formatowanie ciągu
ghastblood
post 1.10.2014, 10:59:41
Post #1





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


Witam,

jak mogę formatować statyczny ciąg znaków

dla przykładu

  1.  
  2. //Dane z textarea
  3. $dane = "ZAPAS MZ jabłka: 4t wiśnie: 2t truskawki:1t W PRZYGOTOWANIU jabłka 1t";


i chciał bym przerobić to na tabele

  1. <tr>
  2. <th>Zapas MZ</th>
  3. </tr>
  4. <tr>
  5. <td>jabłka:</td>
  6. <td>4t</td>
  7. </tr><tr>
  8. <td>wiśnie:</td>
  9. <td>2t</td>
  10. </tr><tr>
  11. <td>truskawki:</td>
  12. <td>1t</td>
  13. </tr>
  14. <tr>
  15. <th>W PRZYGOTOWANIU</th>
  16. </tr>
  17. <tr>
  18. <td>jabłka:</td>
  19. <td>1t</td>
  20. </tr>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
in5ane
post 1.10.2014, 11:22:41
Post #2





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


Jeśli wiesz, że zawsze będzie ta sama ilość danych (w takiej samej formie), to podziel to po prostu na tablicę przy pomocy funkcji explode dzieląc przez spacje. I wtedy masz wszystkie wyrazu w tablicy. Np. osobno będziesz "W" i "PRZYGOTOWANIU", ale to to tak to do komórki tabeli wrzucisz oba elementy tablicy. Problem mógłby być gdybyś miał np. raz "jabłka" a drugi raz "zielone jabłka". Wtedy nie wiedziałbyś że rozbiło string na tablicę z większą ilością elementów. Gdyby była ta opcja gorsza to czekają Cię wyrażenia regularne.

Ten post edytował in5ane 1.10.2014, 11:23:33


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
kreatiff
post 1.10.2014, 11:32:36
Post #3





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

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


  1. $dane = "ZAPAS MZ jabłka: 4t wiśnie: 2t truskawki:1t W PRZYGOTOWANIU jabłka 1t";
  2.  
  3. $a = str_replace('ZAPAS MZ ', '', $dane);
  4. $a = trim(preg_replace('#\:\s+#u', ':', $a));
  5. $a = explode(' W PRZYGOTOWANIU ', $a);
  6.  
  7. foreach ( $a as &$w ) {
  8. $w = explode(' ', $w);
  9. }
  10. unset($w);
  11.  
  12. echo'<pre>',var_dump($a),'</pre>';

A z ataką tablicą będzie już łatwo to dalej obrobić.

Ten post edytował kreatiff 1.10.2014, 11:33:02
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: 16.07.2025 - 06:51