Hämta info i dubbla steg med preg_match_all

PHPportalen Forum Index » PHP
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
kungmats



Medlem i: 6399 dagar
Från: Falun
Status: Offline



#742737
Inlägg Skrivet: 2020-03-19 12:29      Ämne: Hämta info i dubbla steg med preg_match_all Citera

Jag är tillbaka på preg_match som jag aldrig lyckas lära mig och få till som jag vill.

Jag behöver plocka ut veckodagen som en variabel (det lyckas jag med) från en sida och sedan få varje maträtt den dagen, som en array för att senare splitta.
Jag lyckas endast plocka ut veckodagarna sen är det stopp.

KOD:
1:
preg_match_all('/<p><strong>(.*)<\/strong>/Us', $contents, $dag, PREG_SET_ORDER);
2:
foreach ($dag as $row ) {
3:
 
4:
  echo 'dag '.$row[1].'<br/>';
5:
 
6:
preg_match_all('/<br>(.*?)</', $row[2], $ratt);
7:
   foreach ($ratt[1] as $row2 ) {
8:
 
9:
     echo 'ratt '.$row2[1].'<br/>';
10:
 
11:
   }
12:
      $allaratter[] = $ratt[1];   
13:
 
14:
}

Källkoden ser ut så här:

<p><strong>Måndag: </strong> <br> Helstekt fläskfilé serveras med kantarellsås samt rostad potatis<br> Sprödbakad spätta serveras med smögensås samt dillkokt potatis<br><strong> 👉Veckans vegetariska:</strong><br> Ost &amp; broccolisoppa<br> Oumphgryta med kantareller<br> Krämig morotslasagne serveras med parmesan</p>

<hr class="wp-block-separator"/>

<p><strong>Tisdag: </strong> <br> Biffgryta med lime &amp; koriander serveras med ris<br> Fiskgratäng med champinjoner serveras med kokt potatis<br> <strong> 👉Veckans vegetariska:</strong><br> Ost &amp; broccolisoppa<br> Oumphgryta med kantareller<br> Krämig morotslasagne serveras med parmesan</p>
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
harald_b
Moderator



Medlem i: 5035 dagar
Från: Tavesta
Status: Offline



#742738
Inlägg Skrivet: 2020-03-19 23:06      Ämne: Citera

I så fall är nog första steget att utöka matchningsuttrycket så det matchar maträtterna också.
Frågan som uppstår då är ju om veckans vegitariska skall vara med? Jag gissar att den skall vara med.
I så fall slutar maträtterna antingen med en "<hr" eller med slutet ($).
Då kan du utöka ditt uttryck till '/<p><strong>(.*)<\/strong>(.*)(<hr|$)/Us'

Då hamnar maträtterna i $row[2], så kan du klura vidare hur du löser resten därifrån.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
kungmats



Medlem i: 6399 dagar
Från: Falun
Status: Offline



#742739
Inlägg Skrivet: 2020-03-22 10:46      Ämne: Citera

Tack

Jag ska kika mer på det men nu blev jag blockad (med captcha) från sidan där jag ska hämta infon när jag kör mitt script så jag måste lösa det först Smile
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic