【问题标题】:preg_replace: remove tagspreg_replace:删除标签
【发布时间】:2011-04-21 07:48:49
【问题描述】:

我有很多选项标签。我想删除标签并只获取值。 这是代码:

<?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 的内容和很多垃圾。怎么了? 谢谢。

【问题讨论】:

标签: php regex preg-replace preg-match preg-replace-callback


【解决方案1】:

试试这个:

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

【讨论】:

    【解决方案2】:
    $result = preg_replace('/<option.*?>([A-Za-z0-9]+)<\/option>/', '$1', $result);
    

    【讨论】:

    • 它不起作用。我得到了和以前一样的垃圾......谢谢。
    【解决方案3】:

    您的问题之前已经被问过 - 请参阅这篇文章,它肯定会对您有所帮助(包括示例代码):

    Stackoverflow: "php regex to read select form"

    有问题的正则表达式(来自该帖子)是preg_match_all( '@(&lt;option value="([^"]+)"&gt;([^&lt;]+)&lt;\/option&gt;)@', $options, $arr);

    【讨论】:

    • 在常见问题解答中找不到有关如何将帖子标记为重复或如何链接帖子的任何信息。我也看不出这不是问题的答案。 (很抱歉完全偏离主题,但感谢您指出这应该是评论)
    • 我无法理解。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    相关资源
    最近更新 更多