vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB5 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=263)
-   -   preg_replace Code Needs Repair (PHP DEPRECATED ERROR) (https://vborg.vbsupport.ru/showthread.php?t=320098)

XenonKilla 09-02-2015 08:09 PM

preg_replace Code Needs Repair (PHP DEPRECATED ERROR)
 
I'm in the process of updating to vB 3.8.9 & PHP 5.6 and I'm going thru fixing everything that needs to be fixed.

I've got a small piece of code from a plugin that I use on my forum that needs to be updated to comply with new PHP standards. Right now I'm getting PHP DEPRECATED errors in my PHP error log from this plugin.

Here is the error I'm getting...
Code:

PHP Deprecated:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead

I've narrowed the issue down to this piece of code...
PHP Code:

$messagetext preg_replace(
    
'#(^|\[/(' $skiptaglist ')\])(.*(\[(' $skiptaglist ')|$))#siUe',
    
"convert_url_to_bbcode_callback_auto_title('\\3', '\\1')",
    
$messagetext
); 


I realize I could just ignore the error and continue on, but I would like to just update the code to comply with the new PHP standards since I'll have to deal with this issue eventually anyways. I know that preg_replace needs to be replaced with preg_replace_callback and that the "e" from "siUe" needs to be removed, but I don't know what other code changes needs to be made in order to get this working properly. I'm hoping someone can work their magic and help me out.

Thanks in advance! :)

Dave 09-03-2015 09:19 AM

I guess something like this should work:

PHP Code:

$messagetext preg_replace_callback
    
'#(^|\[/(' $skiptaglist ')\])(.*(\[(' $skiptaglist ')|$))#siU'
    function(
$arr) { return convert_url_to_bbcode_callback_auto_title($arr[3], $arr[1]); },
    
$messagetext 
); 


XenonKilla 09-03-2015 08:45 PM

You're the man Dave, the code worked perfect! Thanks a ton I really appreciate it! :)


All times are GMT. The time now is 09:20 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01029 seconds
  • Memory Usage 1,720KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (2)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (3)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete