preg_replace vraag

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-End Developer in Laravel / PHP

Functie omschrijving Wij zijn op zoek naar een Medior PHP Laravel Developer voor een gaaf bedrijf in de omgeving van Amsterdam! Voor een enthousiast team die zich graag bezig houdt met softwareontwikkeling zijn wij op zoek naar versterking. Je werkt in een klein ontwikkelteam en bent zeer betrokken bij alle aspecten van de softwareoplossingen. Van het ontwerpen tot de oplevering. Binnen deze functie ga je aan de slag met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je krijgt veel te maken met koppelingen naar systemen en de verzoeken van de klant. Je komt terecht in een team, waarbij

Bekijk vacature »

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »

3D BIM Add-on Developer

As a 3D BIM add- on developer at KUBUS, you will develop add-ons (called BCF- Managers) to the leading building information modeling (BIM) programs Revit, Navisworks, Archicad, AutoCAD and Tekla Structures. BCF Managers enable data transfer between BIM software and BIMcollab. You will work on both the front- and the back-end. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact in the market, but small enough that as an individual

Bekijk vacature »

Node.js developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

SQL ontwikkelaar

Functieomschrijving Voor een gave werkgever in regio Breda zijn wij per direct op zoek naar een SQL ontwikkelaar/ functioneel consultant. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Je test de ontwikkelde oplossingen om er zeker van te zijn dat deze voldoen aan de functionele specificaties en de behoeften van de organisatie; Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Je stelt op

Bekijk vacature »

Back End Developer

As a Back End developer at KUBUS you will be developing the (web) application and services of BIMcollab. You have a focus on the back end of our software, for which we mainly work with C# and .NET. We use a full-stack approach, which means that in addition to the back-end, you will also help with other parts of the code. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact

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 ontwikkelaar

Functie Het huidige team bestaat uit momenteel uit 5 back end developers verdeeld van senior tot junior. Omdat de gehele front end van applicaties anders gaan insteken zijn ze op zoek naar een ervaren Front end developer die hen kan helpen de juiste keuzes te maken. Je krijgt veel vrijheid om te bepalen hoe je dit wilt ontwikkelen en vrijheid in welke techniek je hiervoor wilt gebruiken. Je zult je dus bezighouden met architectuur, documentatie en natuurlijk ontwikkeling van nieuwe functionaliteiten binnen de verschillende applicaties. natuurlijk heb jij ook mogelijkheden om te sparren binnen het team, maar ze gaan uit

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 »

Back-end Programmeur

Functieomschrijving Heb jij kort geleden je HBO ICT in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een ambitieuze werkgever in de regio van Breda zijn wij op zoek naar een Back-end programmeur met affiniteit met C#.NET, SQL en MS Access. Samen met team bestaand uit ware ICT professionals ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Belangrijk is dat je kennis of ervaring hebt van C#.NET en SQL. Je toont een flexibele en sociale houding naar klanten toe. Je denkt in nieuwe mogelijkheden & gaat graag de uitdaging aan. Bedrijfsprofiel De

Bekijk vacature »

Team Lead Java Developer

Functie Wat ga je doen als Java developer? Als Team Lead Java Developer draag een grote verantwoordelijk je stuurt ontwikkelaars aan en staat dagelijks in contact met jou ICT Manager. De team Bestaat uit front-end en backend systemen. Je ben in staat op hoog niveau de technische vak te bepalen en ook te bewaren. Je dag zie er als volgt uit, ontwikkelen van nieuwe en bestaande applicaties, het uitvoeren van processen en analyses en het beschrijven van functioneel ontwerpen. Ook zal samen met jouw Tester applicaties gaan testen door middel van peer reviews en het leveren van support aan gebruikers

Bekijk vacature »

Front-end Developer

Front-end Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

Junior Fullstack Developer

Functie omschrijving Heb jij je universitair diploma Informatica afgerond en ben jij op zoek naar een startersfunctie waar jouw ontwikkeling in een hoog vaandel staat? Voor een softwarebedrijf in Amsterdam zijn wij op zoek naar een Junior Fullstack Developer. Je begint met een op maat gemaakte training om de kennis bij te spijkeren die jij nog mist. Uiteraard leer je het meeste tijdens je werk, maar de training geeft je hiervoor alvast de juiste handvatten. Je kunt het volgende verwachten! Jij ontwikkelt in technieken als Java, Javascript en SQL. Je werkt hierbij volgens de Agile/Scrum methode; Na het afronden van

Bekijk vacature »

Junior Front end developer

Functie Jij als developer gaat ons helpen onze producten verder te ontwikkelen en in te zetten in de markt. Op dit moment bestaat ons SaaS product uit 3 componenten die zowel los als in een pakket gekocht kunnen worden. Het gaat hier om een online kaartapplicatie, een workflow tool en een monitoring tool. Momenteel zijn wij 3 jaar geleden gestart met de ontwikkeling. De tech-stack waarmee we werken is voornamelijk Javascript, Vue.js en Python. Daarnaast gebruiken wij FaundaDB als database en werken we veel met GIS applicaties. De uitdaging die we momenteel hebben is dat we momenteel een intern team

Bekijk vacature »

PHP Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij op zoek naar een nieuwe uitdaging? Lees dan snel verder! Voor een organisatie in de regio Utrecht die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in

Bekijk vacature »
Hugo L

Hugo L

06/02/2014 12:50:19
Quote Anchor link
Hoi hoi,

Op dit moment ben ik een logboek aan maken waar je regels kan toevoegen, in de regels kan je via een autocomplete ook namen invullen, deze komen dan vervolgens als @naam achternaam in de regel te staan.

Nu wil ik dat deze namen klik baar worden zodat ik kan alles in een overzicht kan zien.
Probeer met preg_replace dit voor elkaar te krijgen, ik loop tegen twee problemen aan.

Dit heb ik tot nu toe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$str = "Dit is een test met een naam er @vooraam achternaam hoe krijg ik dit goed?";
echo preg_replace( "/([@]+\w+\w+[ ]+\w+\w)/", "<a href=\"test.php?$1\">$1</a>", $str);


De link klopt wel maar loop tegen twee problemen aan:
1. Wil niet dat in de link ook @ staat. Nu is het test.php?@voornaam achternaam, optimaal zou het zijn als het test.php?voornaam_achternaam zou kunnen worden.
2. Als iemand een tussenvoegsels heeft, mis ik dus de achternaam.

Is preg_replace de juiste manier om dit te toen of kan dit ook anders?
 
PHP hulp

PHP hulp

28/03/2024 21:18:49
 
Michael -

Michael -

06/02/2014 13:31:23
Quote Anchor link
Soms is het beter om je af te vragen of je het wel goed opslaat.
Data opslaan (in een tekst bestand?) met @ en vreemde tekens waar je het vervolgens weer wilt ophalen en weer uit elkaar wilt trekken klinkt niet logisch.
Is het niet mogelijk de data op te slaan in database? Of als je het perse in een tekst bestand wilt, kijk dan eens naar serialize. Hiermee heb je een object die je daarna een stuk makkelijker kan uitlezen. Voorkeur gaat natuurlijk uit naar een database.
 
Simo Mr

Simo Mr

06/02/2014 13:34:03
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$str
= "Dit is een test met een naam er @vooraam achternaam hoe krijg ik dit goed?";
echo preg_replace( "#@(\w+\s\w+)#", "<a href=\"test.php?$1\">$1</a>", $str);
?>


Gebruiken van space zal niet altijd een goed resultaat geven.
bijv. een fout hier @van voornaam achternaam

Beter gebruik underscores
@vooraam_van_der_achternaam
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$str
= "Dit is een test met een naam er @vooraam_achternaam hoe krijg ik dit goed?";
echo preg_replace_callback( "#@(\w+_*)#",
    function (
$matches) {
    $tmp = str_replace('_',' ',$matches[1]);
    return '<a href="test.php?'.$tmp.'">'.$tmp.'</a>';
    }
,
$str);
?>


Juiste [code]-tags geplaatst, gelieve voortaan deze te gebruiken i.p.v. [quote]-tags.[/modedit]
Gewijzigd op 06/02/2014 15:50:26 door Wouter J
 
Hugo L

Hugo L

06/02/2014 13:34:59
Quote Anchor link
Alles wordt ook in MySQL opgeslagen. Het wordt als @voornaam achternaam naar de database geschreven en volgens wil ik dus dat die @ aan klik baar zijn
 
Michael -

Michael -

06/02/2014 13:47:52
Quote Anchor link
Hugo L op 06/02/2014 13:34:59:
Alles wordt ook in MySQL opgeslagen. Het wordt als @voornaam achternaam naar de database geschreven en volgens wil ik dus dat die @ aan klik baar zijn


Sorry, dan begreep ik je vraag verkeerd.
 
Wouter J

Wouter J

06/02/2014 15:53:47
Quote Anchor link
De code van Simo kan nog wat mooier door gebruik te maken van character klasses: (en ook wat sneller gemaakt door niet gebruik te maken van een captured group, maar in plaats daarvan een lookbehind voor de @)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$str
= "Dit is een test met een naam er @vooraam_achternaam hoe krijg ik dit goed?";
$parsedStr = preg_replace_callback("/(?<=@)[\w_]+/", function ($match) {
    $humanifiedUsername = str_replace('_', ' ', $match[0]);

    // het gebruik van spaties in een URL is ook niet echt aan te raden...
    return '<a href="test.php?'.urlencode($humanifiedUsername).'">'.$humanifiedUsername.'</a>';
},
$str);

echo $parsedStr;
?>


Offtopic:
Ik wordt blij van het zien van een Symfony2 logo op het forum :)
Gewijzigd op 06/02/2014 15:55:23 door Wouter J
 
Hugo L

Hugo L

06/02/2014 19:52:00
Quote Anchor link
@Simo, bedankt voor je reactie het werkte bij met je code.
@Wouter, dit is precies wat ik zocht. Dank je wel!
 



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.