regex phpBB style IF/ELSE

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Medior Front end developer React

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor op de

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Voor een opdrachtgever in omgeving Moordrecht zijn wij op zoek naar een programmeur. 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

Bekijk vacature »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

Junior PHP ontwikkelaar

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Junior Front-End Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale oplossingen van Coolblue. Wat doe je als Junior Front-End Developer bij Coolblue? Als Junior Front-End Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen. Op dat moment komt je wil om te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te maken. Je sterk analytisch vermogen komt dan goed van pas! Ook Junior Front-End Developer worden bij Coolblue?

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een development team met één Senior .NET developer en één junior .NET developer. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit moment veel gebruik van .NET met ASP.NET. Komend kwartaal gaan wij wel gedeeltelijk overstappen naar .NET Core. Verder werken wij ook met SOAP, REST, JSON, HTML5, CSS3

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van Software Developer! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van ervaren

Bekijk vacature »

Full stack Javascript ontwikkelaar

Functie Benieuwd hoe jouw dag eruit ziet? Je komt binnen rond een uur of 10 en dat start je met de morning call. Dit doen we vanaf het hoofdkantoor of op het lab, ligt eraan welk project je mee bezig bent. Na de call en het verdelen van de tickets ga je met je team aan de slag. Rond een uur of 12 is er een goede lunch en ga je smiddags weer lekker door met je werk. De ene keer maak jij een game voor een groot merk om de interactie tussen product en eindgebruiker te vergroten. De andere

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 »

Medior/Senior Front-end Developers gezocht (Utrech

Functie Het team bestaat uit 10+ gespecialiseerde (veel senior) front-end ontwikkelaars en ontwerpers die werken aan projecten voor klanten van verschillende groottes (kan twee jaar bezig zijn met 1 klant). Je helpt klanten met ingewikkelde front-end vraagstukken, hierbij kun je denken aan: UX/UI design, CI/CD, architectuur en integratie met back-end systemen. De werkzaamheden verricht je op locatie bij de klant, dit is vaak in de Randstad. De organisatiestructuur is plat en er heerst een informele sfeer, zo kun je met vragen dus terecht bij de directie. Er wordt veel nadruk gelegd op het bevorderen van persoonlijke ontwikkeling door middel van

Bekijk vacature »

PHP Developer

Dit ga je doen Ontwikkelen, implementeren en testen van PHP-oplossingen en Apps voor klanten en bedrijfsprocessen; Opstellen van requirements en uitwerken van de oplossingen; Testen van software en borgen van een soepele overdracht, inclusief documentatie; Proactief adviseren vanuit eigen expertisegebied over ontwikkelingen en verbeterpunten in technische toepassingen en processen binnen de organisatie. Hier ga je werken De organisatie is een ambitieuze en vooruitstrevende speler in de markt in de regio Rotterdam. Ze zijn de snelst groeiende in hun branche. Met een excellent aanbod en service willen zij de beste keuze zijn voor hun bestaande en nieuwe klanten. Dit alles doen

Bekijk vacature »

Front-end developer E-Commere

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 front-end developer heb je een adviserende rol en sta je aan het eindpunt van alles wat met designs te maken heeft. Je overlegt met klanten en collega’s, en zet je in om ideeen om te zetten tot unieke concepten. Je bent het aanspreekpunt voor de klant en bewaakt tevens de planning. Eisen

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »
Svenn trolilo

svenn trolilo

08/06/2010 09:41:51
Quote Anchor link
Hoi,

Ik ben nog een beginnende met regex, ik heb deze tutorial gelezen, en met die info ben ik aan de slag gegaan. Wat ik wil bekomen is (zoals in het phpBB template systeem)

<!-- IF ( VAR == 1 ) -->
var = 1;
<!-- ELSE -->
$var != 1;
<!-- ENDIF -->

of

<!-- IF ( VAR == 1 ) -->
var = 1;
<!-- ENDIF -->

daarvoor doorzoek ik de pagina met deze regex :
preg_match('/<!\-\-[\s|]IF[\s][\(|][\s|](.+)[\s|](\=\=|\!\=)[\s|](.+)[\s|][\)|][\s]\-\->/i', $var, $test);

daarmee bekom ik :
Array
(
[0] => <!-- IF ( VAR == 1 ) -->
[1] => VAR
[2] => ==
[3] => 1
)

Die werkt goed dus, mss nog wel wat betere manieren, maar goed. Het 2de deel is dan :
$patt = '/<!\-\-[\s|]IF[\s][\(|][\s|]' . $test['1'] . '[\s|]' . $test['2'] . '[\s|]' . $test['3'] . '[\s|][\)|][\s]\-\->(.+)(<!\-\-[\s|]ELSE[\s|]\-\->(.+)<!\-\-[\s|]ENDIF[\s|]\-\->|<!\-\-[\s|]ENDIF[\s|]\-\->)/is';
preg_match($patt, $var , $a);
Die werkt echter nietgoed, en het probleem zit erin dat ik niet echt goed weet hoe ik de keuze laat, namelijk het kan zijn dat ELSE is, maar kan ook zijn dat het ENDIF is.

Iemand tips, of eventueel een "gevorderde" tutorial die mij kan helpen ?

alvast bedankt,

vriendelijke groeten,

Svenn
 
PHP hulp

PHP hulp

02/05/2024 08:19:10
 

08/06/2010 11:41:58
Quote Anchor link
Kijk eens hoe phpbb het aanpakt.
 
Svenn trolilo

svenn trolilo

08/06/2010 21:57:43
Quote Anchor link
phpBB doet het helemaal anders, ze halen eerst alle <!-- --> op en matchen zo. Ik wil dit met regex omdat ik graag wat beter regex'n zou kunnen schrijven.Ik heb al verschillende outputs gekregen, maar geen van hen is correct.

Toch bedankt voor je reply.
 
Svenn trolilo

svenn trolilo

09/06/2010 16:10:50
Quote Anchor link
<!-- IF \( A == B \) -->(.*?)(<!-- ELSE -->(.*?)<!-- ENDIF -->|<!-- ENDIF -->)

Is m'n laatste poging. Iemand tips ?
Gewijzigd op 09/06/2010 16:11:10 door svenn trolilo
 
Svenn trolilo

svenn trolilo

10/06/2010 14:31:13
Quote Anchor link
Ik heb het werkend gekregen, er moet nog wat aan ge-tweaked worden, maar goed, de basis doet het :) Mochten mensen ook naar dit opzoek zijn :

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
<?php

$var
= "
    <!-- IF ( A == B ) -->
        test
    <!-- ELSE -->
        anders
    <!-- ENDIF -->
    "
;
#$var = "<!-- IF a != b -->";
#$var = "<!-- IF a == b -->";


preg_match ('/<!--[\s|]IF[\s|][\(|][\s|](.*?)[\s|](==|!=)[\s|](.*?)[\s|][\)|][\s|]-->(.*?)(<!-- ELSE -->(.*?)<!--[\s|]ENDIF[\s|]-->|<!--[\s|]ENDIF[\s|]-->)/is', $var, $test_b);

$template = array ("A" => 123, "B" => 5);

switch ($test_b['2']){
    case
"==":
            $a = isset($template[$test_b['1']]) ? $template[$test_b['1']] : (int) $test_b['1'];
            $b = isset($template[$test_b['3']]) ? $template[$test_b['3']] : (int) $test_b['3'];
    
            if ( $a == $b )
            {

                $output = $test_b['4'];
            }

            else
            {
                $output = ($a = preg_match ('/(<!--[\s|]ELSE[\s|]-->)/', $test_b['5'])) ? $test_b['6']: '';
            }

        break;
    case
"!=":
            $a = isset($template[$test_b['1']]) ? $template[$test_b['1']] : (int) $test_b['1'];
            $b = isset($template[$test_b['3']]) ? $template[$test_b['3']] : (int) $test_b['3'];
            
            if ( $a != $b )
            {

                $output = $test_b['4'];
            }

            else
            {
                $output = (preg_match ('/(<!--[\s|]ELSE[\s|]-->)/', $test_b['5'])) ? $test_b['6']: '';
            }

    
        break;
}


$pattern = '/<!--[\s|]IF[\s|][\(|][\s|]' . $test_b['1'] . '[\s|]' . $test_b['2'] . '[\s|]' . $test_b['3'] . '[\s|][\)|][\s|]-->(.*?)(<!-- ELSE -->(.*?)<!--[\s|]ENDIF[\s|]-->|<!--[\s|]ENDIF[\s|]-->)/is';

echo preg_replace($pattern, $output, $var);



?>
 
Richard van Velzen

Richard van Velzen

10/06/2010 16:44:47
Quote Anchor link
http://wiki.phpfreakz.nl/Regexes:_Veelgemaakte_fouten#Het_matchen_op_.60..2A.60
 
Svenn trolilo

svenn trolilo

10/06/2010 17:30:31
Quote Anchor link
Dankje, ik ga deze eens lezen, en m'n poging hier plaatsen :)
 



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.