login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Onderdelen html opslaan in database (deel 2)

Offline JLT - 10/11/2009 15:35
Avatar van JLTPHP interesse Ik had het draadje toch iets te vroeg afgesloten denk ik Dat hele preg_match verhaal is toch aardig ingewikkeld. Met het volgende scriptje bereik ik het toch ook?

Variabele $vandesite vul ik gewoon met een formuliertje (via POST).

  1. $vandesite = '
  2. <div class="colorselect" style="background:#F5F1E4;">
  3. <div>0203-Y21R Eerlijk</div></div>
  4. <div class="colorselect" style="background:#F1EEDC;">
  5. <div>0204-G98Y Vlaswit</div></div>
  6. <div class="colorselect" style="background:#F0EEE5;">
  7. <div>0301-G87Y Diamant</div></div>
  8. <div class="colorselect" style="background:#EFEEE6;">
  9. <div>0302-G44Y Gelukzalig</div></div>' ;
  10.  
  11. $stukken = explode("<div class=", $vandesite) ;
  12.  
  13. for ($i=0; $i<count($stukken); $i++) {
  14.  
  15. if (substr($stukken[$i], 32, $length = 7) != '') {
  16. echo '<br/>html kleur: ' . substr($stukken[$i], 32, $length = 7) ; // html kleur
  17. echo '<br/>merk code: ' . substr($stukken[$i], 48, $length = 9) ; // merk kleur
  18. echo '<br/>Naam: ' . substr($stukken[$i], 58, -13) ; // kleur naam
  19. }
  20.  
  21. }

3 antwoorden

Gesponsorde links
Offline ArieMedia - 10/11/2009 16:18
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Geen flauw idee of het zo lukt, zal je zelf ook na kunnen kijken dacht ik? 

enneeuh.. ipv je for loop kan je ook een foreach gaan gebruiken.. werkt wat simpeler
Offline kenzo - 10/11/2009 16:26
Avatar van kenzo PHP beginner ik heb je code geprobeerd, maar ik krijg bij sommige waardes maar delen van de naam, of de naam met een < erachter...

natuurlijk omdat je naam niet overal even lang is...
Offline JLT - 11/11/2009 13:10 (laatste wijziging 11/11/2009 16:49)
Avatar van JLT PHP interesse Ik heb het natuurlijk zelf geprobeerd, maar had een foutje zoals Kenzo als zegt over het hoofd gezien. Wilde graag wat tips hebben (zoals je foreach idee  ) Thanks...

Ik denk dat ik toch maar met die preg_match moet gaan stoeien  

update:

Ik heb nog even met de preg_match lopen rommelen en kwam er redelijk uit, maar heb toch nog een keer de substr moeten gebruiken.

Ik heb nu het volgende:

  1. $vandesite = '
  2. <div class="colorselect" style="background:#F5F1E4;">
  3. <div>0203-Y21R Eerlijk</div>
  4. </div>
  5. <div class="colorselect" style="background:#F1EEDC;">
  6. <div>0204-G98Y Vlaswit</div>
  7. </div>
  8.  
  9. <div class="colorselect" style="background:#F0EEE5;">
  10. <div>0301-G87Y Diamant</div>
  11. </div>
  12. <div class="colorselect" style="background:#EFEEE6;">
  13. <div>0302-G44Y Gelukzalig</div>
  14. </div>' ;
  15.  
  16. $stukken = explode('<div class="colorselect"', $vandesite) ;
  17.  
  18.  
  19. foreach ($stukken as $key => $value) {
  20.  
  21. // controleren of de waarde value leeg is
  22. preg_match('/<div>(.*) /msU',$value,$controle);
  23.  
  24. if ($controle[1] != '') {
  25.  
  26. // HTML kleurcode ophalen
  27. preg_match('/style="background:(.*);\"/msU',$value,$htmlkleur);
  28. echo '<p>' . $htmlkleur[1] . '<br/>' ;
  29.  
  30. // HTML kleurcode ophalen
  31. preg_match('/<div>(.*) /msU',$value,$kleurnummer);
  32. echo '' . $kleurnummer[1] . '<br/>' ;
  33.  
  34. // HTML kleurnaam ophalen
  35. preg_match('/<div>(.*)<\/div>
  36. <\/div>/msU',$value,$matches);
  37. echo '' . substr($matches[1],10) . '<br/>' ;
  38.  
  39. }
  40. }


volgens mij volstaat dit. Nog tips en/of suggesties??
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.18s