preg_replace á, é enz.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer / Overheid / Complexiteit

Functieomschrijving Wil jij als Java Developer een bijdrage leveren aan een veiliger Nederland en je als Java Developer bezig houden met zeer complexe bedrijfskritische applicaties? Lees dan snel verder! Doorontwikkelen bedrijfskritische applicaties; Aanpassingen maken in de bestaande applicatie; Vertalen van jouw visie op continuous integration en continuous delivery; Debuggen van de applicatie; In gesprek gaan met eindgebruikers om verbetervoorstellen op te halen. Functie-eisen Minimaal HBO-werk en denkniveau; Minimaal 5 jaar werkervaring als Java Developer; Je bent minimaal OCP-Java SE 6 gercertificeerd; Je hebt kennis van Webservices en Continuous Integration; Je bent analytisch sterk en zowel klant- als resultaatgericht. Bedrijfsomschrijving Binnen

Bekijk vacature »

Senior DevOps-ontwikkelaar eIDAS

Functie­omschrijving Burgers en bedrijven veilig en betrouwbaar digitaal toegang geven tot diensten en producten van het ministerie van Economische Zaken en Klimaat. Als senior DevOps-ontwikkelaar bouw je daar letterlijk aan mee. En dat doe je bij DICTU: een van de grootste en meest vooruitstrevende ICT-dienstverleners van de Rijksoverheid. Jij werkt mee aan de doorontwikkeling van eIDAS, dat staat voor Electronic IDentification Authentication and trust Services. Deze koppeling maakt de grensoverschrijdende authenticatie op overheidswebsites binnen de Europese Unie mogelijk. Het ministerie van Economische Zaken en Klimaat heeft één moderne toegangspoort voor zijn diensten en inspecties. Enkele daarvan zijn dankzij eIDAS inmiddels

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Front-end Developer Vue.js Meewerkend voorman

Functieomschrijving Ben jij een ervaren Front-end Developer, bedreven in Vue.js en lijkt het jou gaaf om als meewerkend voorman verantwoordelijk te zijn voor de ontwikkeling van drie junior ontwikkelaars? Werk jij graag aan diverse projecten t.b.v. het vergroten van klant- en medewerkerbeleving? Lee dan snel verder! Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en api ontwerp; Participeren in

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Ger van Steenderen
Tutorial mod

Ger van Steenderen

29/02/2012 14:39:19
Quote Anchor link
Ik ben niet zo'n kei met reguliere expressies, maar ik wil dus als er een letter met een acute grave of trema in een woord voorkomt dit vervangen daar de 'gewone letter. Dus bv café wordt cafe, en máár wordt maar. Kan dit in één preg_replace voor alle letters?
 
PHP hulp

PHP hulp

05/08/2020 08:54:18
 
Ozzie PHP

Ozzie PHP

29/02/2012 14:58:49
Quote Anchor link
Kun je hier wellicht iets mee?

http://nl2.php.net/str_replace
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

29/02/2012 15:10:03
Quote Anchor link
Nee, dat is nog omslachtiger,
Maar ik denk dat ik de oplossing al heb. laat het zo weten :-)
 
Wouter J

Wouter J

29/02/2012 15:12:52
Quote Anchor link
Ik zou er eerder strtr voor gebruiken:
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
<?php
$str
= 'Çàfétârïá';

$characters = Array(
  'Ç' => 'C',
  'ç' => 'c',

  'À' => 'A',
  'à' => 'a',
  'Á' => 'A',
  'á' => 'a',
  'Ä' => 'A',
  'ä' => 'a',
  'Â' => 'A',
  'â' => 'a',

  'È' => 'E',
  'è' => 'e',
  'É' => 'E',
  'é' => 'e',
  'Ë' => 'E',
  'ë' => 'e',
  'Ê' => 'E',
  'ê' => 'e',

  'Ì' => 'I',
  'ì' => 'i',
  'Í' => 'I',
  'í' => 'i',
  'Ï' => 'I',
  'ï' => 'i',
  'Î' => 'I',
  'î' => 'i',
);


$str = strtr($str, $characters);

echo $str;
?>


PS: Ik weet niet welke methode sneller is, zou je even moeten testen met PHPbench (beetje reclame maken :D)

Edit:
Ben benieuwd...
Gewijzigd op 29/02/2012 15:13:26 door Wouter J
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

29/02/2012 16:29:50
Quote Anchor link
Dit was mijn oplossing:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$patterns
= array('/(á)|(à)|(ä)/', '/(é)|(è)|(ë)/', '/ç/', '/(í)|(ì)|(ï)/', '/(ó)|(ò)|(ö)/', '/(ú)|(ù)|(ü)/');
$replacements = array('a', 'e', 'c', 'i', 'o', 'u');
$starttime = microtime();
$test = 'çáfétàríä ïn üdënhòút';
$test = preg_replace($patterns, $replacements, $test);
echo microtime() - $starttime;
echo '<br>' . $test;
?>

Output:
7.4999999999992E-5
cafetaria in udenhout
 
Wouter J

Wouter J

29/02/2012 16:34:29
Quote Anchor link
Even wat verbeteringen aangepast, het werkt nu ook met hoofdletters en iets betere regexen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$patterns
= array('/(á|à|ä|â)/i', '/(é|è|ë|ê)/i', '/ç/i', '/(í|ì|ï|î)/i', '/(ó|ò|ö|ô)/i', '/(ú|ù|ü|û)/i');
$replacements = array('a', 'e', 'c', 'i', 'o', 'u');
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

29/02/2012 17:03:28
Quote Anchor link
Dank je Wouter ;-)
Als ik mag raten: +100, lol
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

04/03/2012 10:21:04
Quote Anchor link
Wouter, /i werkt niet op ä etc. Dus ik heb even een workaround gemaakt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$cats
= array(array('dutchwords.txt', 'Nederlandse taal'), array('germanwords.txt', 'Duitse taal'), array('_artist.txt', 'Muziek'));
$patterns = array('/Á|À|Ä|Â|Ã/', '/É|È|Ë|Ê/', '/Ç/', '/Í|Ì|Ï|Î/', '/Ó|Ò|Ö|Ô|Õ/', '/Ú|Ù|Ü|Û/', '/ß/');
$replacements = array('A', 'E', 'C', 'I', 'O', 'U', 'SS');
$randcat = rand(0, 2);
$words = file($cats[$randcat][0]);
$random = rand(0, count($words)-1);
$orgWord = mb_convert_encoding(mb_strtoupper(trim($words[$random]), 'ISO-8859-1'), 'UTF-8', 'ISO-8859-1');
$comWord = preg_replace($patterns, $replacements, $orgWord);
echo ("orgWord=" . $orgWord . "&comWord=" . $comWord . "&cat=" . urlencode($cats[$randcat][1]));
?>
 
Jacco Brandt

Jacco Brandt

04/03/2012 13:28:05
Quote Anchor link
Of je stopt ze beiden in dezelfde array, dat scheelt weer van dat gecodeer.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

04/03/2012 17:25:09
Quote Anchor link
Jacco, het converten van de encoding is nodig omdat anders de preg_replace niet goed werkt.
 
Pieter Jansen

Pieter Jansen

04/03/2012 18:14:42
Quote Anchor link
Ger heeft gelijk, je moet zorgen dat je 1 encodering gebruikt input en output. Dan kun je alles over 1 kam scheren wat normaliter niet netjes is , maar in deze gevallen extreem handig.

Zorg dat je altijd met dezelfde encodering werkt (bijv. UTF-8) dan kun je ook makkelijker ASCII tabellen raadplegen en zoeken op hex waardes (daar zijn die tabellen erg handig in)

Dat scheelt enorm qua uitzoek werk.
 



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.