Я сделал этот код:
$matches = array();
preg_match_all('/"Type":".+?",/', $text, $matches);
foreach($matches[0] as $match) {
if (isset($_GET['dvd']) && !empty($_GET['dvd'])) {
$dvd = $_GET['dvd'];
if (stripos($match, 'DVD') !== false) {
$match = '';
}
}
echo $match;
}
В этом коде я ищу слово «type» в $ text, и оно хранит всю строку со словами перед ним в массиве. А потом я перебираю каждый из них и вижу, есть ли слово DVD. Если это так, он удаляет его и отображает пустую строку.
Теперь я также хочу найти предполагаемого производителя и отобразить его под каждым возвращаемым типом.
Таким образом, он должен вернуть, если результат:
Type: HDD
Manufacturer: WD
Type: Flash Drive
Manufacturer: Transcend
Type: CD
Manufacturer: Sony
Поэтому я попытался сделать это с помощью другого выражения preg_match_all:
$anotherMatch = array();
preg_match_all('/"Manufacturer":".+?",/', $text, $anotherMatch);
И я попытался объединить это с предыдущим выражением foreach с оператором &&, но это не сработало. Также я попробовал различные выражения foreach, а затем один для повторения в конце. но это тоже не сработало.
Можете ли вы сказать мне, как достичь желаемого результата. Спасибо ...