<?php
$visual = "5*(1+0+1+0+1)+5*(1+0+5+0*3)+(0)*5";
//Если делать в несколько шагов, то:
// убираю нули, множитель и лидирующий плюс
$regexp = '/\+?(?:\d+\*)?0/';
$visual = preg_replace($regexp, '', $visual); // 5*(+1+1)+5*(+5)+5*()
// убираю `+` сразу после скобки
$regexp = '/(?:\()\+/';
$visual = preg_replace($regexp, '(', $visual); // 5*(1+1)+5*(5)+5*()
// убираю скобки, если внутри только одно число
$regexp = '/\((\d)\)/';
$visual = preg_replace($regexp, '\1', $visual); // 5*(1+1)+5*5+5*()
// убираю скобки и множитель, если в скобках ничего
$regexp = '/\+?\d+\*\(\)/';
$visual = preg_replace($regexp, '\1', $visual); // 5*(1+1)+5*5 echo $visual;
PD9waHAKCiR2aXN1YWwgPSAiNSooMSswKzErMCsxKSs1KigxKzArNSswKjMpKygwKSo1IjsKLy/QldGB0LvQuCDQtNC10LvQsNGC0Ywg0LIg0L3QtdGB0LrQvtC70YzQutC+INGI0LDQs9C+0LIsINGC0L46CgovLyDRg9Cx0LjRgNCw0Y4g0L3Rg9C70LgsINC80L3QvtC20LjRgtC10LvRjCDQuCDQu9C40LTQuNGA0YPRjtGJ0LjQuSDQv9C70Y7RgQokcmVnZXhwID0gJy9cKz8oPzpcZCtcKik/MC8nOyAgICAgICAgICAgICAgICAgICAgICAgICAKJHZpc3VhbCA9IHByZWdfcmVwbGFjZSgkcmVnZXhwLCAnJywgJHZpc3VhbCk7ICAgICAgICAgICAvLyA1KigrMSsxKSs1KigrNSkrNSooKQoKLy8g0YPQsdC40YDQsNGOIGArYCDRgdGA0LDQt9GDINC/0L7RgdC70LUg0YHQutC+0LHQutC4CiRyZWdleHAgPSAnLyg/OlwoKVwrLyc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiR2aXN1YWwgPSBwcmVnX3JlcGxhY2UoJHJlZ2V4cCwgJygnLCAkdmlzdWFsKTsgICAgICAgICAgLy8gNSooMSsxKSs1Kig1KSs1KigpCgovLyDRg9Cx0LjRgNCw0Y4g0YHQutC+0LHQutC4LCDQtdGB0LvQuCDQstC90YPRgtGA0Lgg0YLQvtC70YzQutC+INC+0LTQvdC+INGH0LjRgdC70L4KJHJlZ2V4cCA9ICcvXCgoXGQpXCkvJzsKJHZpc3VhbCA9IHByZWdfcmVwbGFjZSgkcmVnZXhwLCAnXDEnLCAkdmlzdWFsKTsgICAgICAgICAgLy8gNSooMSsxKSs1KjUrNSooKQoKLy8g0YPQsdC40YDQsNGOINGB0LrQvtCx0LrQuCDQuCDQvNC90L7QttC40YLQtdC70YwsINC10YHQu9C4INCyINGB0LrQvtCx0LrQsNGFINC90LjRh9C10LPQvgokcmVnZXhwID0gJy9cKz9cZCtcKlwoXCkvJzsKJHZpc3VhbCA9IHByZWdfcmVwbGFjZSgkcmVnZXhwLCAnXDEnLCAkdmlzdWFsKTsgICAgICAgICAgLy8gNSooMSsxKSs1KjUKZWNobyAkdmlzdWFsOw==