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 regex 读取选择表单”

有问题的正则表达式(来自该帖子)是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 回答