Ik probeer data uit een string te versturen maar hij loopt vast op de preg_replace inhoud. Als ik die weg comment dan komt hij wel aan zet ik hem weer erbij dan gaat het fout.
Het lijkt dus dat hij niet helemaal met die enters over weg kan.

De $content = $HTTP_RAW_POST_DATA; is gevuld met:
-------------------------------------
<request><emailadres>[email protected]</emailadres><annie_naam>Rik Engelen</annie_naam><inhoud>test

test

dfsdgsdf</inhoud></request>
-------------------------------------



Hieronder de code
-------------

<?php
$content = $HTTP_RAW_POST_DATA;
$email_adres = preg_replace("/.*<emailadres>(.+)<\/emailadres>.*/i","\$1",$content);
$annienaam = preg_replace("/.*<annie_naam>(.+)<\/annie_naam>.*/i","\$1",$content);
$inhoud = preg_replace("/.*<inhoud>([.|\n|\r|\r\n]+)<\/inhoud>.*/i","\$1",$content);

require ("mailclass.php");

$mail = new mime_mail();
$mail->from = "******";
$mail->headers = "Errors-To: ******";
$mail->subject = "******";
$mail->body = $inhoud. "
\n\nMet vriendelijke groet,
\n" .$annienaam. "
\n******
T: ******
F: ******
E: ******
I: ******
\n
";

$mail->to = $email_adres;
$mail->send();
Wat is de foutmelding die je krijgt? Code tussen de [ignore][code][/ignore]-tags gezet.
Geen namelijk de email komt gewoon niet aan.
maar als ik $content = $HTTP_RAW_POST_DATA; in de body zet rechtstreeks gaat het wel goed. maarja moet juist die onderdelen splitsen.
Dan kloppen je regexen dus niet. De string bevat meerdere regels? Gebruik dan ook de pattern modifier 's' in je regexen:

/.*<emailadres>(.+)<\/emailadres>.*/is
Bedankt man dit is de oplossing :)
Bijna 2 uur meebezig geweest.

Reageren