Wednesday, 25 May 2016

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

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...