Jump to content

Help in regex pls


pdoria

Recommended Posts

Hi guys

 

Since I'm not that good with regex I'm doing this quite the lame way ...  ::)

 

<?php
$string="[0:1]={1967,1968}";

$regex="#([[](.*)[]]=)#e";

$output=preg_replace($regex, '', $string);
print ( $output . "<br/>" ); 

$search=array('{', '}');
$output=str_replace($search, "", $output);

print ( $output ); 
?>

 

How can I do this in one pass using regex only?

 

Thx in advance! ;)

Link to comment
https://forums.phpfreaks.com/topic/259645-help-in-regex-pls/
Share on other sites

While fully in synch with Psycho about the method to match the content of the brackets, I'd like to offer a couple fine-tuning suggestions for the sake of "clean and compact":

- the "e" modifier has no place in this regex

- to match a single character out of a list, a character class is more efficient than alternations: [{}] rather than |{|}

- no need for the parentheses

$regex='#\[[^\]]*\]=|[{}]#';

Wishing you's a fun weekend.

:)

 

 

Link to comment
https://forums.phpfreaks.com/topic/259645-help-in-regex-pls/#findComment-1330798
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.