0

I am trying to move an old osCommerce site to a new server and have a question about a deprecated function. I need to change ereg to preg_match.

This is the original code:

function _filter_save_image ($products_delete_image) {
    $products_delete_image = htmlspecialchars(stripslashes($products_delete_image));
    $products_delete_image = ereg_replace('&lt;img ', '', $products_delete_image); // Remove: <img
    $products_delete_image = ereg_replace('src=', '', $products_delete_image); // Remove: src=
    $products_delete_image = ereg_replace('&quot;', '', $products_delete_image); // Remove: "
    $products_delete_image = ereg_replace('/&gt;', '', $products_delete_image); // Remove: />
    $products_delete_image = ereg_replace(HTTP_SERVER.DIR_WS_CATALOG_IMAGES, '', $products_delete_image); // Remove: absolute path
        return $products_delete_image;
}

this is my attempt at modifying the code:

function _filter_save_image ($products_delete_image) {
    $products_delete_image = htmlspecialchars(stripslashes($products_delete_image));
    $products_delete_image = preg_replace('/\&lt;img/', '', $products_delete_image); // Remove: <img
    $products_delete_image = preg_replace('/src=/', '', $products_delete_image); // Remove: src=
    $products_delete_image = preg_replace('/\&quot;/', '', $products_delete_image); // Remove: '
    $products_delete_image = preg_replace('/\&gt;/', '', $products_delete_image); // Remove: />
    $products_delete_image = preg_replace('/\/HTTP_SERVER.DIR_WS_CATALOG_IMAGES/', '', $products_delete_image); // Remove: absolute path
        return $products_delete_image;
}

I'm not getting errors now but it's also not working either.

Mike G
  • 4,232
  • 9
  • 40
  • 66
  • why not upgrade the osCommerce version ? changing a small piece of something like osCommerce is not usually a good idea. –  Apr 22 '14 at 20:12
  • It's a temporary fix to a highly customized shop while we work on developing the new site. But agreed, they are in desperate need of and upgrade! – blondeonesc Apr 22 '14 at 21:57

1 Answers1

1

no need to escape the &

   function _filter_save_image ($products_delete_image) {
            $products_delete_image = htmlspecialchars(stripslashes($products_delete_image));
            $products_delete_image = preg_replace('/&lt;img/', '', $products_delete_image); // Remove: <img
            $products_delete_image = preg_replace('/src=/', '', $products_delete_image); // Remove: src=
            $products_delete_image = preg_replace('/&quot;/', '', $products_delete_image); // Remove: '
            $products_delete_image = preg_replace('/&gt;/', '', $products_delete_image); // Remove: />
            $products_delete_image = preg_replace('/HTTP_SERVER.DIR_WS_CATALOG_IMAGES/', '', $products_delete_image); // Remove: absolute path
                return $products_delete_image;
            }
Pedro Lobito
  • 94,083
  • 31
  • 258
  • 268
  • Thank you! I'm getting closer, I still end up with / at the beginning and the end though which didn't happen previously, so I'm still doing something wrong... Thanks for your help! – blondeonesc Apr 22 '14 at 23:04