Jump to content

preg_replace everything before


newbtophp

Recommended Posts

How would i remove everything before the first error_reporting(E_ALL ^ E_NOTICE); ?

 

<?php
if ($variable==false){print <<<EOF
Error
EOF; 
die();
} 
?>
<?php
error_reporting(E_ALL ^ E_NOTICE);
define('NAME', 'Email');
define('DIR', 'includes/cl_plugins/');
?>

 

Would turn into:

 

error_reporting(E_ALL ^ E_NOTICE);
define('NAME', 'Email');
define('DIR', 'includes/cl_plugins/');
?>

 

My attempt:

 

preg_replace('~.+?error_reporting\(E_ALL ^ E_NOTICE\);~s', '');

 

:/

Link to comment
https://forums.phpfreaks.com/topic/184215-preg_replace-everything-before/
Share on other sites

Set your PHP code equal to the variable $code and when done $extractedcode will contain error_reporting(E_ALL ^ E_NOTICE); and everything after it.

 

if (preg_match('#(error_reporting\(E_ALL \^ E_NOTICE\);.++)#si', $code, $extracted))
{
$extractedcode = $extracted[0];
}

Do you need the pattern matching capabilities of regular expressions or would basic string functions work for you? See strstr.

 

echo strstr($code, 'error_reporting(E_ALL ^ E_NOTICE);');

 

Both would work - equally fine in this case.

 

Thanks for that, strstr() is pretty nifty :)

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.