Beste Allemaal,

Ik worstel al een tijdje met het volgende probleem:
Ik heb ruim 6000 korte omschrijvingen van producten waar allerlei vreemde tekens in voorkomen. Met vreemde tekens bedoel ik tekens zoals ® ™ • ° ë ä ï ü ø Ø

Ik heb elk teken nu één voor een verwijderd via
$omschrijving = str_replace('Ø','',$omschrijving);

Maar het gaat om zo enorm veel van dit soort vreemde tekens, dat het bijna onmogelijk is om ze allemaal met de hand op te sporen en op bovenstaande manier te verwijderen.

Ik ben dus op zoek naar een functie die ervoor zorgt dat alle vreemde tekens worden verwijderd uit een tekst, zodat alleen de 26 letters van het alfabet en de gebruikelijke leestekens , . ! overblijven.

Wie kan me helpen om dit te realiseren? Enig idee of hier een functie voor is?

Mvg,

Joeri
Ten eerste kan je aan str_replace een array meegeven zodat je in één keer meerdere tekens kan verwijderen. Maar het antwoord op je vraag ligt in reguliere expressies. Ik heb onderstaande getest en het werkt :):


<?php
$text = "A random text with some #%^& stuff in that ?ÒÉ doesn't belong there.";

echo '<h2>Original text</h2>';
echo '<p>' . $text . '</p>';

echo '<h2>Modified</h2>';

//Replace all characters except (^) a till z, A till Z, 0 till 9, a space, the @ sign and ,.
echo preg_replace('/[^a-zA-Z0-9 .@,]/', '', $text);
?>
Ik ben je enorm dankbaar!! Geweldig, het werkt perfect!

Reageren