fork(1) download
  1. <?php
  2.  
  3. $s = '[quote="John;2"][quote="Mary;1"]Mary\'s sentence[/quote]John\'s sentence[/quote]';
  4. $repl = '<blockquote id="quote-$2"><p>$3 <br> - $1</p></blockquote>';
  5. $reg = '~\[quote="([^"]*);(\w*)"]\s*((?:(?!\[quote=).)*?)\s*\[/quote]~si';
  6. while (preg_match($reg, $s)) {
  7. $s = preg_replace($reg, $repl, $s);
  8. }
  9. echo $s;
Success #stdin #stdout 0.02s 23844KB
stdin
Standard input is empty
stdout
<blockquote id="quote-2"><p><blockquote id="quote-1"><p>Mary's sentence <br> - Mary</p></blockquote>John's sentence <br> - John</p></blockquote>