Я должен извлечь атрибут «гигабайт» из описания продуктов, мне нужна функция, которая извлекает подстроку между ее более коротким пространственным повторением и ГБ.
Это для PHP редактора плагина WP All-Import.
function getStringBetween($str,$from,$to) {
return preg_replace("/^.*$from([^$from]+)$to.*$/", '$1', $str);
}
$str = 'SIM UMTS ITALIA 35GB BLACK';
echo getStringBetween($str, ' ', 'GB') . "\n";
$str2 = 'SIM UMTS ITALIA IPHONE 2 MEGAPIXEL';
echo getStringBetween($str2, ' ', 'GB') . "\n";
Первый вариант правильный:
35
Второй экземпляр as, не имеющий подстроки ‘GB’, возвращает всю строку:
SIM UMTS ИТАЛИЯ IPHONE 2 МЕГАПИКСЕЛЬ
Задача ещё не решена.
Других решений пока нет …