Parsing Subject and Ticket #

From: Date: Sun, 09 Feb 2014 16:32:17 +0000
Subject: Parsing Subject and Ticket #
Groups: php.general 
Request: Send a blank email to php-general+get-322797@lists.php.net to get a copy of this message
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

« previous php.general (#322797) next »