Re: Regular Expression Problem and PHP 4 (urgent) --- continued
| From: | Andrey Hristov | Date: | Mon, 27 Aug 2001 19:30:40 +0000 |
| Subject: | Re: Regular Expression Problem and PHP 4 (urgent) --- continued | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-64681@lists.php.net to get a copy of this message | ||
Some time spent to try but now i think it works:
<?php
echo "<pre>";
$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 :
<pre>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" <chunga668@yahoo.com>
To: <php-general@lists.php.net>
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: php-general-unsubscribe@lists.php.net
> For additional commands, e-mail: php-general-help@lists.php.net
> To contact the list administrators, e-mail: php-list-admin@lists.php.net
>
>