0

オプションタグがたくさんあります。タグを削除して、値のみを取得したいと思います。これはコードです:

<?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 の内容と大量のゴミを取得します。どうしたの?ありがとうございました。

4

3 に答える 3

1
$result = preg_replace('/<option.*?>([A-Za-z0-9]+)<\/option>/', '$1', $result);
于 2010-10-05T14:07:51.913 に答える
1

まさにあなたの質問が以前に尋ねられました - この投稿を参照してください、それは間違いなくあなたを助けます (サンプルコードを含む):

Stackoverflow:「選択フォームを読み取るphp正規表現」

問題の正規表現(その投稿から)はpreg_match_all( '@(<option value="([^"]+)">([^<]+)<\/option>)@', $options, $arr);

于 2010-10-05T14:01:50.600 に答える
0

これを試して:

preg_match_all('/<option [^>]*?>(.*)<\/option>/', $text, $match);
print_r($match[1]);
于 2015-05-15T17:35:14.357 に答える