login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Tekst extraheren met behulp van REGEX (Opgelost)

Offline Arnold - 31/01/2009 19:47
Avatar van ArnoldNieuw lid Beste sitemasters,

Ik probeer een deel van een string in een variabele te zetten met behulp van regex. Het staat als volgt in de database en wordt naar een variabele geladen:

  1. <h2>{fieldA::text::Titel}</h2>


Nu is het de bedoeling dat ik het stukje {fieldA::text:Titel} overhoud. Ik heb al gegoogled en op dit forum rond gekeken maar ik kom er niet aan uit.

Wat ik zelf voor iets in gedachten had is dit:

  1. $htmlDummy = '<h2>{fieldA::text::Titel}</h2>';
  2. $var = functie(array('{', '}'), $htmlDummy);


Het lieft zou $var een array opleveren omdat ik vaker {} gebruik.

Iemand tips??


Alvast bedankt voor jullie antwoord

2 antwoorden

Gesponsorde links
Offline Tuinstoel - 31/01/2009 19:49
Avatar van Tuinstoel PHP expert Staat er consequent <h2> in je database? Want in dat geval kun je een simpele str_replace gebruiken. Verder als je zeker bent dat { of } er alleen in voorkomt zoals aangegeven, kun je ook explode gebruiken (2x) zodat je alleen nog overhoudt wat er in staat.
Offline Arnold - 31/01/2009 19:54 (laatste wijziging 01/02/2009 14:17)
Avatar van Arnold Nieuw lid Nee,

{fieldA::text::Titel} zou ook gewoon midden in een stuk tekst kunnen staan. Bij wijze van zou ik dus alles wat tussen {} staat in een array willen hebben. Als hiervoor nog geen standaard functie is dan zal ik zelf wat moeten gaan scripten.

[Edit]

  1. function getBetween($between, $subject) {
  2. if(!is_array($between) || count($between) != 2) {
  3. return false;
  4. }
  5.  
  6. $_temp = str_replace($between, '_V_', $subject);
  7. $_temp = explode('_V_', $_temp);
  8.  
  9. $output = array();
  10.  
  11. foreach($_temp as $k => $v) {
  12. if($k % 2) {
  13. $_output[] = $v;
  14. }
  15. }
  16.  
  17. return $_output;
  18. }


Heb zelf al een oplossing gevonden. De input is een array met 2 delimiters en de string. En de output is een array met de items die tussen die delimiters staan.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.181s