I do not understand with this regex doesn't work in PHP and yes in Perl
<?php
$string_prev = "[1|2|3|4][1|2|3|4]";
$array_prev = preg_split("/\[(.*?)\]/", $string_prev);
$string_final = "";
foreach ($array_prev as $string) {
$string_final .= "[" . $string . "]";
}
echo $string_final; // nothing is printed
print_r($array_prev); // array empty
?>
#!/usr/bin/perl
$string_prev = "[1|2|3|4][1|2|3|4]";
@array_prev = $string_prev =~ /\[(.*?)\]/g;
$string_final = "";
foreach $string (@array_prev) {
$string_final .= "[" . $string . "]";
}
print "Content-type: text/html\n\n";
print $string_final; # print ... [1|2|3|4][1|2|3|4]
I get with PHP (print_r) an array with 3 elements (instead of 2) and everything is empty.
Something like this ...
Array ( [0] => [1] => [2] => )
In Perl the regular expression is valid. I need help certainly.
Thank you very much in advance
Mapg