Friday, November 30, 2018

php - Regex match the double quote in BBCode attribute




I have text stored in my forum database with some incompatible such as the following:



Some text with [COLOR="red"]colored text[/COLOR] and [SIZE="7"]Big fonts[/SIZE] while "This double quote" is not matched


What I want is a regex that match any double quotes " " with any string inside them while those double quotes are inside the square bracket [ ] of the bbcode.



I need this to be able to fix those bbcodes by stripping the double quotes. The regex implementation is going to be using PHP.


Answer



You may be looking for something like this:




$code= 'Some text with [COLOR="red"]colored text[/COLOR] and [SIZE="7"]Big fonts[/SIZE] while "This double quote" is not matched';

preg_match_all('/\[.*?="(\w+)"\]/', $code, $matches, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($matches[1]); $i++) {
echo $matches[1][$i]."\n";
}


DEMO:
https://ideone.com/LEZHgx



No comments:

Post a Comment

plot explanation - Why did Peaches&#39; mom hang on the tree? - Movies &amp; TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...