Ron Piggott
2014-02-09 16:32:17 UTC
I am trying to parse an e-mail subject so it returns the subject and also the ticket # *if* this is a reply to an existing ticket.
For this subject:
$subject = 'Translation Idea [ Ticket 1005 ]';
my desired result is:
$subject_array = array( âsubjectâ=>âTranslation Ideaâ , âticket_profile_referenceâ=>1005 );
And for this subject:
$subject = 'Translation idea';
my desired result is:
$subject_array = array( âsubjectâ=>âTranslation Ideaâ , âticket_profile_referenceâ=>FALSE );
The ticket # will always be in the format: [ Ticket # ]
The following is what I have tried so far. The first line of code is returning a syntax error. Apparently it doesnât like the simplified âifâ.
I am asking for help to see how others would do this.
<?php
$subject_array['subject'] = trim( substr( $subject , 0 , ( strpos( $subject , "[ Ticket " ) > 0 ) ? strpos( $subject , "[ Ticket " ) : strlen( $subject ); );
$ticket_profile_reference = (int)trim( substr( $subject , ( strpos( $subject , "[ Ticket " ) + 9 ) , ( strpos( $subject , " ]" ) - ( strpos( $subject , "[ Ticket " ) + 9 ) ) ) );
if ( $ticket_profile_reference == 0 ) {
$subject_array['ticket_profile_reference'] = FALSE;
} else {
$subject_array['ticket_profile_reference'] = $ticket_profile_reference;
}
print_r( $subject_array );
?>
Ron Piggott
www.TheVerseOfTheDay.info
For this subject:
$subject = 'Translation Idea [ Ticket 1005 ]';
my desired result is:
$subject_array = array( âsubjectâ=>âTranslation Ideaâ , âticket_profile_referenceâ=>1005 );
And for this subject:
$subject = 'Translation idea';
my desired result is:
$subject_array = array( âsubjectâ=>âTranslation Ideaâ , âticket_profile_referenceâ=>FALSE );
The ticket # will always be in the format: [ Ticket # ]
The following is what I have tried so far. The first line of code is returning a syntax error. Apparently it doesnât like the simplified âifâ.
I am asking for help to see how others would do this.
<?php
$subject_array['subject'] = trim( substr( $subject , 0 , ( strpos( $subject , "[ Ticket " ) > 0 ) ? strpos( $subject , "[ Ticket " ) : strlen( $subject ); );
$ticket_profile_reference = (int)trim( substr( $subject , ( strpos( $subject , "[ Ticket " ) + 9 ) , ( strpos( $subject , " ]" ) - ( strpos( $subject , "[ Ticket " ) + 9 ) ) ) );
if ( $ticket_profile_reference == 0 ) {
$subject_array['ticket_profile_reference'] = FALSE;
} else {
$subject_array['ticket_profile_reference'] = $ticket_profile_reference;
}
print_r( $subject_array );
?>
Ron Piggott
www.TheVerseOfTheDay.info