538 | | } |
| 538 | /** |
| 539 | * This callback processes any custom parser.php attributes and custom code with preg_replace |
| 540 | */ |
| 541 | protected function callback_html( $field ) { |
| 542 | |
| 543 | // Parse out bbCodes |
| 544 | require_once( bbpress()->admin->admin_dir . 'parser.php' ); |
| 545 | $bbcode = BBCode::getInstance(); |
| 546 | $bbcode->enable_smileys = false; |
| 547 | $bbcode->smiley_regex = false; |
| 548 | $field = html_entity_decode( $bbcode->Parse( $field ) ); |
| 549 | |
| 550 | // Replace phpBB 'magic_url' and 'bbcode_uid' with SimplePress smilies with the equivelant WordPress |
| 551 | |
| 552 | // Replace '[b:XXXXXXX]' with '<strong>' |
| 553 | $phpbb_uid = preg_replace ( '/\[b:(.*?)\]/' , '<strong>' , $phpbb_uid ); |
| 554 | // Replace '[/b:XXXXXXX]' with '</strong>' |
| 555 | $phpbb_uid = preg_replace ( '/\[\/b:(.*?)\]/' , '</strong>' , $phpbb_uid ); |
| 556 | |
| 557 | // Replace '[i:XXXXXXX]' with '<em>' |
| 558 | $phpbb_uid = preg_replace ( '/\[i:(.*?)\]/' , '<em>' , $phpbb_uid ); |
| 559 | // Replace '[/i:XXXXXXX]' with '</em>' |
| 560 | $phpbb_uid = preg_replace ( '/\[\/i:(.*?)\]/' , '</em>' , $phpbb_uid ); |
| 561 | |
| 562 | // Replace '[u:XXXXXXX]' with '<u>' |
| 563 | $phpbb_uid = preg_replace ( '/\[u:(.*?)\]/' , '<u>' , $phpbb_uid ); |
| 564 | // Replace '[/u:XXXXXXX]' with '</u>' |
| 565 | $phpbb_uid = preg_replace ( '/\[\/u:(.*?)\]/' , '</u>' , $phpbb_uid ); |
| 566 | |
| 567 | // Replace '[quote:XXXXXXX]' with '<blockquote>' |
| 568 | $phpbb_uid = preg_replace ( '/\[quote:(.*?)\]/' , '<blockquote>' , $phpbb_uid ); |
| 569 | // Replace '[quote="$1"]' with '<em>$1 wrote:</em><blockquote>" |
| 570 | $phpbb_uid = preg_replace ( '/\[quote="(.*?)":(.*?)\]/' , '<em>$1 wrote:</em><blockquote>' , $phpbb_uid ); |
| 571 | // Replace '[/quote:XXXXXXX]' with '</blockquote>' |
| 572 | $phpbb_uid = preg_replace ( '/\[\/quote:(.*?)\]/' , '</blockquote>' , $phpbb_uid ); |
| 573 | |
| 574 | // Replace '[img:XXXXXXX]' with '<img src="' |
| 575 | $phpbb_uid = preg_replace ( '/\[img:(.*?)\]/' , '<img src="' , $phpbb_uid ); |
| 576 | // Replace '[/img:XXXXXXX]' with ' alt="">' |
| 577 | $phpbb_uid = preg_replace ( '/\[\/img:(.*?)\]/' , '" alt="">' , $phpbb_uid ); |
| 578 | |
| 579 | // Replace '<!-- s$1 --><img src=\"{SMILIES_PATH}$2 -->' with '$1' |
| 580 | $phpbb_uid = preg_replace ( '/<!-- s(.*?) --><img src=\"{SMILIES_PATH}(.*?)-->/' , '$1' , $phpbb_uid ); |
| 581 | |
| 582 | // Replace '<!-- m --><a class="postlink" href="$1">$1</a><!-- m -->' with '$1' |
| 583 | $phpbb_uid = preg_replace ( '/\<!-- m --\>\<a class="postlink" href="([^\[]+?)"\>([^\[]+?)\<\/a\>\<!-- m --\>/' , '$1' , $phpbb_uid ); |
| 584 | |
| 585 | // Replace '[url:XXXXXXX]$1[/url:XXXXXXX]' with '<a href="http://$1">$1</a>' |
| 586 | $phpbb_uid = preg_replace ( '/\[url:(?:[^\]]+)\]([^\[]+?)\[\/url:(?:[^\]]+)\]/' , '<a href="http://$1">$1</a>' , $phpbb_uid ); |
| 587 | // Replace '[url=http://$1:XXXXXXX]$3[/url:XXXXXXX]' with '<a href="http://$1">$3</a>' |
| 588 | $phpbb_uid = preg_replace ( '/\[url\=http\:\/\/(.*?)\:(.*?)\](.*?)\[\/url:(.*?)\]/i' , '<a href="http://$1">$3</a>' , $phpbb_uid ); |
| 589 | // Replace '[url=https://$1:XXXXXXX]$3[/url:XXXXXXX]' with '<a href="http://$1">$3</a>' |
| 590 | $phpbb_uid = preg_replace ( '/\[url\=https\:\/\/(.*?)\:(.*?)\](.*?)\[\/url:(.*?)\]/i' , '<a href="https://$1">$3</a>' , $phpbb_uid ); |
| 591 | |
| 592 | // Replace '[email:XXXXXXX]' with '<a href="mailto:$2">$2</a>' |
| 593 | $phpbb_uid = preg_replace ( '/\[email:(.*?)\](.*?)\[\/email:(.*?)\]/' , '<a href="mailto:$2">$2</a>' , $phpbb_uid ); |
| 594 | |
| 595 | // Replace '[code:XXXXXXX]' with '<pre><code>' |
| 596 | $phpbb_uid = preg_replace ( '/\[code:(.*?)\]/' , '<pre><code>' , $phpbb_uid ); |
| 597 | // Replace '[/code:XXXXXXX]' with '</code></pre>' |
| 598 | $phpbb_uid = preg_replace ( '/\[\/code:(.*?)\]/' , '</code></pre>' , $phpbb_uid ); |
| 599 | |
| 600 | // Replace '[color=$1:XXXXXXXX]' with '<span style="color:$1">' |
| 601 | $phpbb_uid = preg_replace ( '/\[color=(.*?):(.*?)\]/' , '<span style="color:$1">' , $phpbb_uid ); |
| 602 | // Replace '[/color:XXXXXXX]' with '</span>' |
| 603 | $phpbb_uid = preg_replace ( '/\[\/color:(.*?)\]/' , '</span>' , $phpbb_uid ); |
| 604 | |
| 605 | // Replace '[size=$1:XXXXXXXX]' with '<span style="font-size:$1%;">$3</span>' |
| 606 | $phpbb_uid = preg_replace ( '/\[size=(.*?):(.*?)\]/' , '<span style="font-size:$1%;">' , $phpbb_uid ); |
| 607 | // Replace '[/size:XXXXXXX]' with '' |
| 608 | $phpbb_uid = preg_replace ( '/\[\/size:(.*?)\]/' , '</span>' , $phpbb_uid ); |
| 609 | |
| 610 | // Replace '[list:XXXXXXX]' with '<ul>' |
| 611 | $phpbb_uid = preg_replace ( '/\[list:(.*?)\]/' , '<ul>' , $phpbb_uid ); |
| 612 | // Replace '[list=a:XXXXXXX]' with '<ol type="a">' |
| 613 | $phpbb_uid = preg_replace ( '/\[list=a:(.*?)\]/' , '<ol type="a">' , $phpbb_uid ); |
| 614 | // Replace '[list=1:XXXXXXX]' with '<ol>' |
| 615 | $phpbb_uid = preg_replace ( '/\[list=1:(.*?)\]/' , '<ol>' , $phpbb_uid ); |
| 616 | // Replace '[*:XXXXXXX]' with '<li>' |
| 617 | $phpbb_uid = preg_replace ( '/\[\*:(.*?)\]/' , '<li>' , $phpbb_uid ); |
| 618 | // Replace '[/*:m:XXXXXXX]' with '</li>' |
| 619 | $phpbb_uid = preg_replace ( '/\[\/\*:m:(.*?)\]/' , '</li>' , $phpbb_uid ); |
| 620 | // Replace '[/list:u:XXXXXXX]' with '</ul>' |
| 621 | $phpbb_uid = preg_replace ( '/\[\/list:u:(.*?)\]/' , '</ul>' , $phpbb_uid ); |
| 622 | // Replace '[/list:o:XXXXXXX]' with '</ol>' |
| 623 | $phpbb_uid = preg_replace ( '/\[\/list:o:(.*?)\]/' , '</ol>' , $phpbb_uid ); |
| 624 | |
| 625 | return $field; |
| 626 | } |
| 627 | } |
| 628 | No newline at end of file |