Re: [PHP] Regular Expression Problem and PHP 4 (urgent) --- continued

2001-08-30 Thread Ross Nielsen

Andrey,

Thanks for the time that you put into this!
After some tweaking (for my scripts) I got this working nicely, and learned
a thing or two about PREG also.

Ross Nielsen
[EMAIL PROTECTED]

"Andrey Hristov" <[EMAIL PROTECTED]> wrote in message
02d801c12f2e$c1a60a90$0b01a8c0@ANDreY">news:02d801c12f2e$c1a60a90$0b01a8c0@ANDreY...
> Some time spent to try but now i think it works:
>
>   echo "";
>  $a='datadatadatadata[link1]datadatadata{link2}data[link3]';
> // $a='datadata{link1}data[link2]datadatadata{link3}data[link4]';
>  $pattern='/((\[)|\{)(.+?)(?(2)\]|\})/';
>  echo $a."\n";
>  echo $pattern."\n";
>  preg_match_all($pattern,$a,$matches,PREG_MATCH_ORDER);
>  var_dump($matches);
> ?>
>
> Produces :
> datadatadatadata[link1]datadatadata{link2}data[link3]
> /(\[)|\{(.+?)(?(1)\]|\})/
> array(3) {
>   [0]=>
>   array(3) {
> [0]=>
> string(1) "["
> [1]=>
> string(7) "{link2}"
> [2]=>
> string(1) "["
>   }
>   [1]=>
>   array(3) {
> [0]=>
> string(1) "["
> [1]=>
> string(0) ""
> [2]=>
> string(1) "["
>   }
>   [2]=>
>   array(1) {
> [0]=>
> string(5) "link2"
>   }
> }
>
> Also works with the commented string.
> Explanation : Looking for more than one using preg_match_all. Matching for
[ or {, [ is in () because at the end we test if we found
> [ so we look for ] otherwise { is found so we look for matching }. (?(1)
true|false) is 1 as a backreference is set so we found [.
>
> Hope this will help you.
>
> Andrey Hristov
> IcyGEN Corporation
> http://www.icygen.com
> 99%
>
>
> - Original Message -
> From: "Ross Nielsen" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Monday, August 27, 2001 9:42 PM
> Subject: [PHP] Regular Expression Problem and PHP 4 (urgent) --- continued
>
>
> > Well my first solution didn't really work the way I needed it too so
here
> > goes again...
> >
> > Data returned from server process looks like following...
> >
> > Header
> > datadatadatadata[link]datadatadata{link}data[link]
> > datadata{link}data[link]datadatadata{link}data[link]
> > datadatadatadata[link]datadatadata{link}data[link]
> > Closer
> >
> > I need to grep the values between [] and {} to turn them into a links.
> > (BTW I need to retain the values for use in JS)
> > Any suggestions?
> >
> > Thanks,
> > Ross
> >
> >
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > To contact the list administrators, e-mail: [EMAIL PROTECTED]
> >
> >
>



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP] Regular Expression Problem and PHP 4 (urgent) --- continued

2001-08-27 Thread Andrey Hristov

Some time spent to try but now i think it works:

";
 $a='datadatadatadata[link1]datadatadata{link2}data[link3]';
// $a='datadata{link1}data[link2]datadatadata{link3}data[link4]';
 $pattern='/((\[)|\{)(.+?)(?(2)\]|\})/';
 echo $a."\n";
 echo $pattern."\n";
 preg_match_all($pattern,$a,$matches,PREG_MATCH_ORDER);
 var_dump($matches);
?>

Produces :
datadatadatadata[link1]datadatadata{link2}data[link3]
/(\[)|\{(.+?)(?(1)\]|\})/
array(3) {
  [0]=>
  array(3) {
[0]=>
string(1) "["
[1]=>
string(7) "{link2}"
[2]=>
string(1) "["
  }
  [1]=>
  array(3) {
[0]=>
string(1) "["
[1]=>
string(0) ""
[2]=>
string(1) "["
  }
  [2]=>
  array(1) {
[0]=>
string(5) "link2"
  }
}

Also works with the commented string.
Explanation : Looking for more than one using preg_match_all. Matching for [ or {, [ 
is in () because at the end we test if we found
[ so we look for ] otherwise { is found so we look for matching }. (?(1) true|false) 
is 1 as a backreference is set so we found [.

Hope this will help you.

Andrey Hristov
IcyGEN Corporation
http://www.icygen.com
99%


- Original Message -----
From: "Ross Nielsen" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, August 27, 2001 9:42 PM
Subject: [PHP] Regular Expression Problem and PHP 4 (urgent) --- continued


> Well my first solution didn't really work the way I needed it too so here
> goes again...
>
> Data returned from server process looks like following...
>
> Header
> datadatadatadata[link]datadatadata{link}data[link]
> datadata{link}data[link]datadatadata{link}data[link]
> datadatadatadata[link]datadatadata{link}data[link]
> Closer
>
> I need to grep the values between [] and {} to turn them into a links.
> (BTW I need to retain the values for use in JS)
> Any suggestions?
>
> Thanks,
> Ross
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]
>
>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP] Regular Expression Problem and PHP 4 (urgent) --- continued

2001-08-27 Thread Ross Nielsen

Well my first solution didn't really work the way I needed it too so here
goes again...

Data returned from server process looks like following...

Header
datadatadatadata[link]datadatadata{link}data[link]
datadata{link}data[link]datadatadata{link}data[link]
datadatadatadata[link]datadatadata{link}data[link]
Closer

I need to grep the values between [] and {} to turn them into a links.
(BTW I need to retain the values for use in JS)
Any suggestions?

Thanks,
Ross



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP] Regular Expression Problem and PHP 4 (urgent)

2001-08-14 Thread Ross Nielsen

Here is the problem:

I'm retrieving a page of data from another process using PHP4 on Solaris
2.51
This data is placed in an array by line and simply returned to the browser
after formatting.

A sample line may look something like this:
blah blah blah blah blah  blah blah blah blah 

I think I need to use eregi_replace to make the line look like this:
blah blah blah blah blah  blah blah blah blah 

when it is returned to the browser.

Thanks in advance
Ross



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]