Goedenavond,

Hoe kan ik karakters anders dan a-z/A-Z/0-9 aan het einde van een zin verwijderen?

Dus de . achter: Hallo.
Het ? achter: Ja?
Etc

Ik lees dat ik de rtrim functie kan gebruiken, maar dan moet ik alle karakters 1 voor 1 opgeven. En dat kunnen er nogal wat zijn. is er een andere manier?

Guido
<?= preg_replace('#[^0-9a-z]*$#i', '', $inputstring); ?>


Dit vervangt alles wat niet (wegens ^) in de range a-z of 0-9 valt, (hoofdletter ongevoelig, wegens de "i")
en dat 0 of meer keer daar staat (wegens de *)
aan het einde van de regel (wegens de $) door ''

Ipv de * mag een + ook.

Een eventueel eerder in de regel staand teken blijft wel behouden

Hallo! zei Willem-Jan.

Zal dus alleen zijn . aan het einde verliezen.
Hoi Ivo,

Hartelijk dank, dit doet inderdaad precies wat ik zocht. Ook bedankt voor de uitleg van de expressie.

Guido

Reageren