Welcome to WebmasterWorld Guest from 54.211.17.91

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

preg replace for a SIP URI

What I have isn't quite there....

   
9:12 pm on Jul 12, 2011 (gmt 0)

WebmasterWorld Senior Member trillianjedi is a WebmasterWorld Top Contributor of All Time 10+ Year Member



Hi all,

Can anyone help me with this PREG_REPLACE?

I'm trying to detect a SIP URI (kind of link an email address) which can be in what I'm parsing ending either with a ] or a ;.

Like so:-

sip:me@example.com;

or:

sip:me@example.com]

So I need a reg-ex that will either/or for the square bracket or a semi-colon.

This is what I have so far:-


$line = preg_replace('#sip:(.*)\@(.*)\.(.*)[\];]#', "<span class=\"orange\">sip:$1@\\2.\\3</span>]", $line);


This doesn't break on the semi-colon as I intend, although it works on the close square bracket.

Any ideas?

Thanks!
9:35 pm on Jul 12, 2011 (gmt 0)

WebmasterWorld Senior Member g1smd is a WebmasterWorld Top Contributor of All Time 10+ Year Member Top Contributors Of The Month



The .* pattern means "match everything until the end of the input". Having done that, you then want to match "everything" again a further two times. That is not possible.

This will parse a lot faster:
'#sip:([^@]+@([^.]+\.)+[^.;\]]+[;\]])#'
6:20 pm on Jul 17, 2011 (gmt 0)

WebmasterWorld Senior Member trillianjedi is a WebmasterWorld Top Contributor of All Time 10+ Year Member



Thank you!

Got it working nicely with your steer. Sorry for the delay in replying - went and got sick (probably too much RegEX :) ).
 

Featured Threads

Hot Threads This Week

Hot Threads This Month