Re: String /pattern formatting extraction question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, April 10, 2006 7:40 am, Andy wrote:
> Hi to all,
>
> I have the following pattern for a string:
>
> text1 /ptext2 /otext3
>
> Now, I want to extract the text by "patterns" from this string by the
> following rule:
>
> no pattern -> text1 (what is before /o or /p)
> /p -> text2 (what is after /p)
> /o -> text3 (what is after /o)
>
> The order betweeen /o and /p can be switched, so there is no rule that
> /p is before /o.
>
> How can I do this? I tried ereg but no success.

Will there always be at least one /p or /o?...

And I'm assuming you don't need the whitespace.

And that text2 and text3 must not have embedded whitespace.

Then you can do something like:

<?php
$pattern = '/^([^\\s])\\s(\\/(p|o)[^\\s])$/';
preg_match($pattern, $input, $output);
print_r($output);
?>

You may want to get a program called "The Regex Coach" which lets you
type patterns/input and see the output in real-time.  Incredibly
handy/useful.

Also, your syntax looks AMAZINGLY like the GetOpt patterns of command
line arguments...  If you could change '/' to '-', you'd find zillions
of pre-built libraries to handle your strings.

YMMV

-- 
Like Music?
http://l-i-e.com/artists.htm

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux