Preg_replace() probleem!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C#.NET Developer Jr. Functie

Functie omschrijving Bouw jij graag aan applicaties om processen in distributiecentra te optimaliseren? Wij zijn op zoek naar een C#.NET ontwikkelaar in regio Breda die hier graag een steentje aan bijdraagt! Jouw werkzaamheden zullen er als volgt uitzien: Je krijgt veel vrijheid in de keuze van de technieken die je gaat gebruiken. Uiteraard wel binnen de gestelde kaders, en door gebruik te maken van het .NET platform. Je gaat aan de slag met de ontwikkeling van een nieuwe module binnen de WMS suite van dit bedrijf. Deze "carrier" module gaat er voor zorgen dat de selectie van een vervoerder volledig

Bekijk vacature »

IoT Software Developer PHP

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een IoT software developer met kennis van PHP. In deze rol wordt je verantwoordelijk voor het vernieuwen van het multimedia platform van een super tof bedrijf in Breda. Je gebruikt PHP als programmeerlaag, en bent in staat om de helicopterview te pakken / projectmatig te werken. Jouw werkzaamheden zien er als volgt uit: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "intern" ontwikkelde multimedia platform. Je neemt de lead in het moderniseren van het platform door het deels opnieuw op te zetten of

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Front end developer binnen het onderwijs

Functie Het doel van dit team is om te zorgen dat de studenten altijd op de hoogte zijn van relevante informatie en de mogelijkheid hebben om online vragen te stellen. Hiervoor hebben ze een portal ontwikkeld. De app is echt een greenfield project met een eigen inrichting middels cloud. De ontwikkeling wordt gedaan door gebruik te maken van oa. Javascript, React, CSS, Next.js, GraphQL in een Azure Cloud omgeving. Daarnaast gebruiken ze tooling als Figma, storybook, Jest en Github. De complexiteit in deze rol zit hem in het feit dat data uit verschillende bronsystemen komt waarbij er zowel gekoppeld wordt

Bekijk vacature »

Java (Java EE) Developer

In het kort Werken als Java developer betekent werken aan complexe IT projecten bij onder meer een internationaal containeroverslag bedrijf. Zo sturen we apparaten en eindgebruikers aan d.m.v. onze custom-made software oplossing, die dagelijkse vele duizenden containers verwerkt. Denk aan systemen die volautomatische kranen aansturen en op afstand bedienen, de volledige afhandeling van containernummerherkenning bij het laden en lossen van zeeschepen of het tonen van instructies aan de chauffeurs van ruim 300 straddle carriers. En dat allemaal redundant, robuust en in een dynamische 24/7 omgeving! Jij versterkt ons ontwikkelteam en gaat aan de slag met oa. Java i.c.m. Spring (Boot),

Bekijk vacature »

PHP developer

Functie Voor een opdrachtgever in omgeving Leiden zijn wij op zoek naar een PHP developer die affiniteit heeft met C++. Ben jij reeds afgestudeerd of heb je al een paar jaar ervaring? Lees snel verder en kijk of dit iets voor jou is! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van

Bekijk vacature »

Dynamische Oracle/APEX Ontwikkelaar in de logistie

Bedrijfsomschrijving De organisatie in de regio Rotterdam is gespecialiseerd in het ontwikkelen van moderne webbased software voor de ERP branche. In totaal is er 20FTE aan specialisten actief binnen de organisatie. De ICT afdeling bestaat momenteel uit 15FTE. Ze groeien ontzettend hard en daarom zoeken zij een Oracle/APEX Developer die het reeds sterke team nog sterker komt maken. Hier werken ze op projectbasis voor verschillende grote organisaties in de logistieke sector. Het is een informele organisatie waarbinnen een fijne werksfeer heerst. Zoals aangegeven willen ze het team nog sterker maken en daarvoor zoeken ze bij voorkeur medior of senior Oracle/APEX

Bekijk vacature »

Back-end developer (Magento2)

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

Traineeship Java Developer

Functie Wat ga je doen als Java Developer? Jij start via ons bij deze opdrachtgever als Trainee Java ontwikkelaar, tijdens het traineeship ga je in 1 jaar van de basis naar professioneel Java ontwikkelaar. Je start samen met een groep trainees, volgt de aangeboden cursussen en gaat aan de slag bij één van onze opdrachtgevers. Na een aantal maanden volgt de volgende opdracht. Door de groei in jouw rol kom je op steeds complexere opdrachten terecht. Veel afwisseling dus. Collega’s met ervaring helpen je bij deze groei en samen met jouw coach ga je een persoonlijke leerplan opzetten om jou

Bekijk vacature »

HBO startersfunctie .NET Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Ben je in januari 2023 klaar met je HBO opleiding en zoek je een mooie uitdaging? Wacht niet langer en solliciteer direct! Voor een familiebedrijf in de regio van Boxtel ben ik op zoek naar een C#.NET Ontwikkelaar. Jij gaat aan de slag met de (door)ontwikkeling van de maatwerksoftware projecten en gaat ook nieuwe software bouwen, middels de Microsoft-stack. Het bedrijf maakt gebruik van de volgende technieken: C# & ASP.NET; MVC; MS SQL; Entity Framework; Je krijgt hier veel tijd om te leren en eventueel door te groeien en het

Bekijk vacature »

Delphi Programmeur

Functie omschrijving Onze opdrachtgever is gespecialiseerd in kantoor-bedrijfssoftware en zit gevestigd in omgeving Numansdorp. Als programmeur ben jij bij dit bedrijf met het volgende bezig; Je vertaalt technische en functionele ontwerpen naar kwalitatieve software. Je ontwikkelt, ontwerpt en test software. Je maakt daarbij veel gebruik met de volgende tools & technologieën: Delphi 10.3 (Rio), QuickReport 6. Je krijgt in deze rol veel vrijheid en verantwoordelijkheid. Je levert projecten van A - Z op, en werkt daarbij projectmatig en gestructureerd. Bedrijfsprofiel Dit bedrijf richt zich op maatwerk software oplossingen. Deze software oplossingen worden ingezet in de financiële branche. Het betreft een

Bekijk vacature »

Front-end Developer - React - Data Driven

Bedrijfsomschrijving Onze klant is een snelgroeiende organisatie die een data-driven inspectieapp op de markt hebben gebracht die nu al een aantal jaar door verschillende organisaties wereldwijd gebruikt wordt. Er zijn zo'n 6 mensen werkzaam bij dit bedrijf en ze zijn nu vooral op zoek naar een sterke front-end developer die wil gaan werken aan nieuwbouw applicaties en de uitbouw van de huidige applicaties. De reden dat ze zoeken is omdat er veel werk op komst is en ze hier de juiste capaciteit voor willen hebben. Er heerst hier een hele prettige sfeer waarin respect en eerlijke communicatie belangrijk is. Ook

Bekijk vacature »

Ervaren Full-Stack PHP Developer

Functieomschrijving Gezocht! Ervaren PHP Developer! Voor een organisatie in de regio Harderwijk zoeken wij een ervaren PHP Developer die het IT team van dit bedrijf gaat versterken. We zijn op zoek naar een enthousiaste en breed georiënteerde IT-er die het innovatieve bedrijf nog een stap verder kan brengen. Voor deze functie zoeken wij iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je werkt samen met een externe ontwikkelpartij en kunt hun dus uitdagen op het geleverde werk. Het schrijven van concepten aan de AI en hardware kant valt onder je verantwoordelijkheden. Het bedrijf noemt zichzelf een

Bekijk vacature »

Medior/senior Front-end developer

Functie Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden gebouwd, of grote complexe wijzigingen worden doorgevoerd op bestaande omgevingen. Je kunt (afhankelijk van jouw wensen en doelen) dus afwisselend werken in beide teams. Hiernaast participeer je in het Chapter Front-end development waar gezamenlijk kennis en ervaring wordt gedeeld. Als Front-end developer is het jouw doel

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

10/09/2010 17:53:13
Quote Anchor link
Hey PHP'ers,
Ik heb een heel raar probleem, de block gedeelte willen niet vervangen worden!
ik ben al 2 dagen mee bezig geweest!
willen jullie helpen?
Voorbeeld: http://lexoft.nl/tpl/test2/

Snippet Code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
  public function getContentInBlock($blockname) {
    $regex = "/\[begin-block: ".$blockname."\](.+?)\[end-block: ".$blockname."\]/";
    return preg_replace($regex,"\\3",unserialize($this->code));
  }


  public function replaceBlock($blockname,$output,$code) {
    $regex = "/\[begin-block: ".$blockname."\](.+?)\[end-block: ".$blockname."\]/";
    return preg_replace($regex,$output,$code);
  }

?>

Groetjes Alex
 
PHP hulp

PHP hulp

24/11/2024 23:08:40
 
Marco van Oort

Marco van Oort

10/09/2010 17:59:18
Quote Anchor link
Ik weet niet of het effect heeft, maar je zou kunnen letten op de volgende dingen:

- het teken '-' heeft in een character class een speciale betekenis, misschien ook daarbuiten? misschien denkt de regex wel "iets tussen 'n' en 'b'" bij begin-block. Dan zou je deze moeten escapen: \-
- bestaat $blockname alleen uit letters? zo nee, dan moet je hem escapen met preg_quote()
Gewijzigd op 10/09/2010 17:59:49 door Marco van Oort
 

10/09/2010 18:37:27
Quote Anchor link
alleen uit letters
Ik heb het veranderd, er gebeurd niks

Toevoeging op 10/09/2010 20:08:52:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
class templateParser {
  /* @desc   In deze variabele wordt de hele file tijdelijk opgeslagen */
  public $code;
  /*  @desc   In deze variabele wordt alle data opgeslagen die te maken heeft met het vervangen van html
  Blocks:
  $_replacedata['block']['<naamvanblock>']['contentblock']; Hierin wordt opgeslagen wat tussen de [begin-block: <naamvanblock>] en [end-block: <naamvanblock>] staat.
  $_replacedata['block']['<naamvanblock>'][<oplopend nummer>]['var']; hierin wordt de data opgeslagen.
  Files:
  $_replacedata['include'][] = <naamvanbestand>; hierin wordt de naam van de bestanden opgeslagen.
  Vars:
  $_replacedata['var']['<varnaam>']; Hierin worden de vars opgeslagen
  */

  public $_replacedata;

  public function loadTemplate($tFile) {
    if(file_exists($tFile)) {
      $this->code = serialize(file_get_contents($tFile));    
    }
else {
      echo 'Couldn\'t load the template file.';
    }
  }


  public function assignBlock($blockname,$array_met_values) {
    $block_content = $this->getContentInBlock($blockname);
    $this->_replacedata['block'][$blockname] = $array_met_values;
    $this->_replacedata['block'][$blockname]['contentblock'] = $block_content;
  }

        
  public function assignVar($var,$value) {
    $this->_replacedata['var'][$var] = $value;
  }

    
  public function assignVars($vars,$replacements) {
    if(!is_array($vars) || !is_array($replacements)) {
      $this->assignVar($vars,$replacements);
    }
else {
      for($i=0; $i < count($vars); $i++) {
        $this->_replacedata['var'][$vars[$i]] = $replacements[$i];
      }
    }
  }


  public function assignIncludeContent($filename) {
    if(file_exists($filename)) {
      $this->_replacedata['include'][] = $filename;
    }
  }


  public function getContentInBlock($blockname) {
    $regex = "/\[begin-block: ".$blockname."\](.+?)\[end-block: ".$blockname."\]/";
    return preg_replace($regex,"\\3",unserialize($this->code));
  }


  public function replaceBlock($blockname,$output,$code) {
    $regex = "/\[begin-block: ".$blockname."\](.+?)\[end-block: ".$blockname."\]/";
    return preg_replace($regex,$output,$code);
  }



 function
parse() {
    $code = unserialize($this->code);
    //de blocks verwerken
    if(is_array($this->_replacedata['block'])) {
      foreach($this->_replacedata['block'] as $blockname => $values) {
        $contentblock = $values['contentblock'];
        $block_output = '';
        for($i = 0; $i < (count($values) - 1);$i++) {
          $rij = $contentblock;
          foreach($values[$i] as $var => $replacement) {
            $rij = str_replace('{'.$var.'}',$replacement,$rij);
          }

          $block_output .= $rij;
        }

        $code = $this->replaceBlock($blockname,$block_output,$code);
      }
    }

    //de vars verwerken
    if(is_array($this->_replacedata['var'])) {
      foreach($this->_replacedata['var'] as $key => $value) {
        $code = str_replace('{'.$key.'}',$value,$code);
      }
    }

    if(is_array($this->_replacedata['include'])) {
      foreach($this->_replacedata['include'] as $file) {
        $contents_file = file_get_contents($file);
        $regex = "/\[file: ".$file."\]/";
        $code = preg_replace($regex,$contents_file,$code);
      }
    }

    if($display) {
      echo $code;
    }
else {
      return $code;
    }
  }
}

?>
Gewijzigd op 10/09/2010 18:38:50 door
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.