regex phpBB style IF/ELSE

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Developer

Functie Middels Scrum en sprints bouw jij in deze functie mee aan complexe webapplicaties en ons SaaS platform. Hierbij hoort ook architectuur tot een van je taken. Daarnaast ben je één van de leden van het Scrum team. Dat betekent dat je naast je kerntaken ook in contact staat met de product owner. Oftewel, je bent bij het gehele ontwikkelproces betrokken. Tools die hierbij gebruikt worden zijn o.a. PHP, Symfony en Git. Eisen • Minimaal HBO werk- en denkniveau • Minimaal 3 jaar aantoonbare ervaring met PHP • Kennis en ervaring Symfony (Laravel is pré) & Lando • Kennis van

Bekijk vacature »

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

Technisch Applicatie ontwikkelaar

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! In deze functie werk jij voornamelijk aan: Het onderhouden en ontwikkelen van de IT systemen; Het opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werk je aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkel en implementeren je MS PowerApps en Power BI. Bedrijfsprofiel Je komt terecht bij een familiair

Bekijk vacature »

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

Front-End React Developer

As a Front-End React Developer you improve the user-experience of our web applications for your colleagues in Coolblue. How do I become a Front-End React Developer at Coolblue? As a Front-End React Developer you are responsible for developing user interface components and implementing them using React.js concepts and workflows. You work with the UX Designer and get energy from coming up with creative solutions and present these within the team. During the day you gather and welcome feedback on your technical and soft skills. Would you like to become a Front-End React Developer at Coolblue? Read below if the job

Bekijk vacature »

Front-end Developer

Functie omschrijving Wij zijn op zoek naar een Front-end Developer! Als Front-end Developer binnen dit softwarebedrijf ga je de frontends voor zowel je eigen interne projecten als die voor klanten opzetten, onderhouden en uitbreiden. Je zet ideeën om naar mooie successen voor de klanten. Dat is in een notendop wat je gaat doen! Wat kun je verwachten? Je werkt aan de doorontwikkeling van bestaande maatwerkapplicaties. Bijvoorbeeld wanneer de klant de applicatie wil uitbreiden met een nieuwe feature; Samen met het team van backenders en desginers zet je nieuwe ideeën van klanten om naar mooie oplossingen; Je werkt met verschillende frameworks.

Bekijk vacature »

C# developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als C# Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the Year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Opleveren van mooie eindproducten, middels de Agile methodiek; Samenwerken in een team van 10 collega's; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De

Bekijk vacature »

Fullstack Webdeveloper .NET Azure Big Data SaaS

Bedrijfsomschrijving Deze klant van ons is recentelijk onderdeel geworden van een grote moederorganisatie, ze zijn dé partij als het gaat om software maken voor ambitieuze ondernemers, ze maken maatwerk software. Vanuit het fantastisch vormgegeven hightech gebouw te Rotterdam centrum werken ze met zo'n 40 medewerkers aan hoogwaardige software gericht op financiële data, betaalinformatie, maar ook backoffice software. De software wordt webbased, desktop en mobile aangeboden en er worden zeer moderne ontwikkeltechnieken toegepast. Je moet dan denken aan patroonherkenning, Big Data, Machine Learning en OCR. Als Developer, ongeacht je niveau, ga je hier te maken krijgen met de allerleukste kant van

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP Developer ga jij aan de slag met uitdagende software projecten. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Deze software bouw je vooral in PHP en specifiek Laravel. Dit framework kent dus geen geheimen voor jou. De software die jij gaat ontwikkelen is heel divers, van urenregistratiesystemen tot compleet geautomatiseerde tools. In deze veelzijdige functie ga jij je zeker niet vervelen, elke dag bestaat weer uit nieuwe uitdagingen. Bedrijfsprofiel Deze

Bekijk vacature »

Fullstack JavaScript Developer Webapplicaties

Bedrijfsomschrijving Voor deze organisatie ben ik op zoek naar een getalenteerde Fullstack JavaScript Developer. Ze is een snelgroeiend software development agency dat zich richt op het ontwikkelen van moderne webapplicaties en complexe systemen voor haar klanten. Ze is gevestigd onder de rook van Utrecht en heeft als doel om tot de top van de Nederlandse agencies te behoren. Deze organisatie maakt softwareoplossingen voor verschillende soorten bedrijven. Innovatie staat hoog in het vaandel en je zult dus met nieuwe technieken aan de slag gaan. Ze hebben klanten in vele branches zitten, zoals retail, finance, gezondheid en onderwijs. De diverse klanten zorgen

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Modern, innovatief en Informeel bedrijf waar veel mogelijk is Werken met diverse robot merken Meehelpen met inbedrijfstellingen bij de klant De organisatie Hier ga je aan de slag Dit groeiende bedrijf van totaaloplossingen in de automatisering van productieprocessen, is hoofdzakelijk actief in de Benelux. Vanuit het kantoor in regio Amersfoort worden veel oplossingen geboden in de vorm van robotica. Geen project is hetzelfde wat garant staat voor bijzonder veel afwisseling. De bedrijfsgrootte is ongeveer 80 man. Van gerobotiseerde machinebeladingen tot aan assemblage automatiseringen wordt vanuit krachtige engineering maatwerk equipment geleverd.

Bekijk vacature »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze klanten. Geen werkdag is hetzelfde, je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Arval en de Politie. Werken bij Sogeti Nieuwe ontwikkelingen volgen we op de voet en delen we binnen de

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

07/01/2025 20:03:29
 

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.