replace backslashes and quotation within bbcode tag php

58 Views Asked by At

This string appears as is in my database

  [font=\\\"Libre Franklin\\\", sans-serif]
  This is a \\\'title 1\\\' escaped slashes \\\"content\\\" 
  [/font][/b][/font]

  [font=\\\"Libre Franklin\\\", sans-serif]
  This is a \\\'title 2\\\' escaped slashes \\\"content\\\" 
  [/font][/b][/font]

  [font=\\\"Libre Franklin\\\", sans-serif]
  This is a \\\'title 3\\\' escaped slashes \\\"content\\\" 
  [/font][/b][/font]

I want to remove the \\\" from within th [font][/font] bbtag, in order it stays like this

  [font=Libre Franklin, sans-serif]
  This is a \\\'title\\\' escaped slashes \\\"content\\\" 
  [/font][/b][/font]

I tried this as well...but it retrieves...and I dont know how to put them back in the string

 if (preg_match_all("/\[font=(.*?)\]/",$string,$matches)) 
   {
 foreach($matches[0] as $values){
          echo  $values;
   }
    }

It retrieves

 [font=Georgia][font=\"Libre Franklin\", sans-serif][font=Georgia][font=Georgia][font=\"Libre Franklin\", sans-serif][font=Georgia][font=\"Libre Franklin\", sans-serif][font=Georgia][font=Georgia][font=\"Libre Franklin\", sans-serif][font=Georgia][font=\"Libre Franklin\", sans-serif][font=Georgia][font=Georgia][font=\"Libre Franklin\", sans-serif][font=Georgia][font=\"Libre Franklin\", sans-serif][font=Georgia][font=Georgia][font=\"Libre Franklin\", sans-serif]  

but I dont know how sto trimm them and put them back in the string.

what am doing wrong?

1

There are 1 best solutions below

3
AudioBubble On

Use prag replece or with

'~(?:(?!^)\G|\[font=)[^\]]*?\K\\\\\\\\\\\"~'

with notherng

demo