php正则表达式读取选择表单

标签 php regex html-select

我有一个带有一些选项的选择表单的源文件,如下所示:

<option value="TTO">1031</option><option value="187">187</option><option value="TWO">2SK8</option><option value="411">411</option><option value="AEL">Abec 11</option><option value="ABE">Abec11</option><option value="ACE">Ace</option><option value="ADD">Addikt</option><option value="AFF">Affiliate</option><option value="ALI">Alien Workshop</option><option value="ALG">Alligator</option><option value="ALM">Almost</option>

我想使用 php 和正则表达式读取此文件,但我真的不知道如何。有人有想法吗?如果有一个数组,其中 3 位代码作为键,较长的字符串作为值,那就太好了。 (例如,$arr['TWO'] == '2SK8')

最佳答案

<?php                      
$options= '
<option value="TTO">1031</option><option value="187">187</option><option value="TWO">2SK8</option><option value="411">411</option><option value="AEL">Abec 11</option><option value="ABE">Abec11</option><option value="ACE">Ace</option><option value="ADD">Addikt</option><option value="AFF">Affiliate</option><option value="ALI">Alien Workshop</option><option value="ALG">Alligator</option><option value="ALM">Almost</option>
';
preg_match_all( '@(<option value="([^"]+)">([^<]+)<\/option>)@', $options, $arr);

$result = array();
foreach ($arr[0] as $i => $value)
{
    $result[$arr[2][$i]] = $arr[3][$i];
}
print_r($result);
?>

输出:

Array
(
    [TTO] => 1031
    [187] => 187
    [TWO] => 2SK8
    [411] => 411
    [AEL] => Abec 11
    [ABE] => Abec11
    [ACE] => Ace
    [ADD] => Addikt
    [AFF] => Affiliate
    [ALI] => Alien Workshop
    [ALG] => Alligator
    [ALM] => Almost
)

关于php正则表达式读取选择表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1224006/

相关文章:

php - 如何将数据从mysql数据库传递到$_SESSOIN

php - 路由路径中的 Symfony2 特殊字符

java - 有没有办法将电话号码标准化为 1-222-444-5555(根据北美标准)?

asp.net - 如何设置 asp.net 下拉列表的样式

javascript - 使用javascript模拟点击HTML选择选项

php - 同时使用两个ajax函数?不工作

php - 如何将 php 中的值附加到我的 JS 文件中?

java - 如何分别读取字符和整数

Javascript 正则表达式用特殊字符替换字符串

css - 如何设置选择框选项的宽度?