Hallo,

Ik heb een heel PM systeem gemaakt en als ik een bericht stuur naar iemand, dan kan hij op Beantwoorden drukken. Als hij dit doet, dan wordt er "RE: " voor het ouder onderwerp gezet. Als ik weer beantwoord, komt dit weer opnieuw ervoor te staan. Blijf ik een aantal keren doorgaan, dan krijg je RE: RE: RE: RE: RE: ... , oftewel heel onoverzichtelijk.

Nu is mijn vraag: Hoe los ik dit op, hoe zorg ik ervoor dat de letters "RE: " maar 1x vooraan kunnen komen te staan?

Alvast bedankt,

Nick
Tja, jouw script zet de 'RE: ' ervoor. Jij zult er dus voor moeten zorgen dat dit slechts 1x gebeurd. Met een preg_match() kun je checken of er al RE: staat, zo ja, doe niks, zo nee, zet er RE: neer.

tot zo ver de theorie...
Geef anders dat stukje script met het plaatsen van de RE:
probeer met substr het eerste gedeelte te lezen en die te vergelijken met jouw vergelijking...
<?php
$onderwerp = "RE: ".$onderwerp."";
?>

Dat heb ik als script voor het onderwerp. Ik moet nu weer snel weg, dus ik kan even niks anders probere, dus miss dat iemand even kan fixen (iets wat zeker werkt :) )
Precies wat Frank zegt, dat is een oplossing die zeker werkt. Dus iets als:
<?php
if(!preg_match('/^RE:/', $onderwerp))
{
$onderwerp = 'RE: '.$onderwerp;
}
?>

<?php
    if(substr($onderwerp,1,3) != "RE:") {
        $onderwerp = "RE: ".$onderwerp;
    }
?>

1 nadeel: als een gebruiker zelf RE: intypt, staat et daar ook :P
en dan heb ik als onderwerp:
wat betekend RE: ??

dan gaat het denk ik fout ;)
volgenns mijn staat RE: voor reactie:
@nick is het niet :
<?php
    if(substr($onderwerp,0,2) != "RE:") {
        $onderwerp = "RE: ".$onderwerp;
    }
?> 

???? het begint toch namelijk te tellen vanaf 0 !?
@Leroy dat gaat het niet het ^ geeft namelijk aan dat de opgegeven regex aan het begin van de input string moet staan

Reageren