preg_replace: удалить теги - PullRequest
       22

preg_replace: удалить теги

0 голосов
/ 05 октября 2010

У меня много опционных тегов. Я хотел бы удалить теги и получить только значения. Это код:

<?php
$result = preg_replace('/<option value=\"\d+\"  >([A-Za-z0-9]+)<\/option>/', '$1', $result);
?>

Я не могу использовать strip_tags, вывод strip_tags:

id="pesq_marca" class="select164" size="1" onchange="exibeModelosSelectpesq_marca(this.value, 'C','','');" >SelecioneAUDIBMWCHEVROLETCITROENFIATFORDGMCHONDAHYUNDAIJEEPKIA MOTORSMERCEDES-BENZMITSUBISHINISSANPEUGEOTRENAULTSUZUKITOYOTAVOLKSWAGENADAMOAGRALEALFA ROMEOASIA MOTORSBRMBUGGYCADILLACCBTCHAMONIXCHANACHERYCHRYSLERDAEWOODAIHATSUDKWDODGEEFFAENGESAENVEMOFERRARIGURGELHAFEIHUMMERINFINITIIVECO-FIATJAGUARJINBEIJPXLADALAND ROVERLEXUSLIFAN MOTORSLINCOLNLOBINIMAHINDRAMASERATIMAZDAMERCURYMINIMIURAMPNEVIO BRENDLERPORSCHEPROTOTIPOPUMASATURNSEATSHELBYSIMCASMARTSSANGYONGSUBARUTROLLERVOLAREVOLVOWAYWILLYS

С помощью этого кода я получаю содержимое $ result и много мусора. В чем дело? Спасибо.

Ответы [ 3 ]

1 голос
/ 05 октября 2010
$result = preg_replace('/<option.*?>([A-Za-z0-9]+)<\/option>/', '$1', $result);
1 голос
/ 05 октября 2010

Точно ваш вопрос был задан ранее - см. Этот пост, он определенно поможет вам (включая пример кода):

Stackoverflow: "php regex to read select form"

Регулярное выражение (из этого поста): preg_match_all( '@(<option value="([^"]+)">([^<]+)<\/option>)@', $options, $arr);

0 голосов
/ 15 мая 2015

Попробуйте это:

preg_match_all('/<option [^>]*?>(.*)<\/option>/', $text, $match);
print_r($match[1]);
...