Php 如何从字符串中删除单词并将该字符串分割为数组

Php 如何从字符串中删除单词并将该字符串分割为数组,php,Php,我想让每个选项中只有一个颜色词 由此: $colors = '< option value="black">black< /option>< option value="gold">gold< /option >'; 之后,我想输入像这样的数组的颜色 如何从字符串中删除单词并将该字符串分割为数组 像这样 Array ( [0] => black [1] => gold

我想让每个选项中只有一个颜色词 由此:

$colors = '< option value="black">black< /option>< option value="gold">gold< /option >';
之后,我想输入像这样的数组的颜色 如何从字符串中删除单词并将该字符串分割为数组

像这样

Array
        (
            [0] => black 
            [1] => gold
        )
您可以使用来提取值:

$colors = '< option value="black">black< /option>< option value="gold">gold< /option >';
preg_match_all('/value="([^"]+)"/', $colors, $matches);
print_r($matches[1]);

您也可以使用PHP的类来实现这一点,尽管对于您的示例来说这可能有些过分:

$colors = '< option value="black">black< /option>< option value="gold">gold< /option >';
$doc = new DOMDocument();
$doc->loadHTML(str_replace('< ', '<', $colors));
$values = array();
$attributes = array();
foreach ($doc->getElementsByTagName('option') as $option) {
    $values[] = $option->nodeValue;
    $attributes[] = $option->getAttribute('value');
}
print_r($values);
print_r($attributes);

您可以使用来提取值:

$colors = '< option value="black">black< /option>< option value="gold">gold< /option >';
preg_match_all('/value="([^"]+)"/', $colors, $matches);
print_r($matches[1]);

您也可以使用PHP的类来实现这一点,尽管对于您的示例来说这可能有些过分:

$colors = '< option value="black">black< /option>< option value="gold">gold< /option >';
$doc = new DOMDocument();
$doc->loadHTML(str_replace('< ', '<', $colors));
$values = array();
$attributes = array();
foreach ($doc->getElementsByTagName('option') as $option) {
    $values[] = $option->nodeValue;
    $attributes[] = $option->getAttribute('value');
}
print_r($values);
print_r($attributes);

您可以在PhP中使用
explode
方法将字符串按特定分隔符拆分。然后,它将被放入您需要的数组中。您可以在PhP中使用
explode
方法以特定的分隔符分割字符串。然后,它将被放入您需要的数组中。
Array
    (
        [0] => black 
        [1] => gold
    )
Array
    (
        [0] => black 
        [1] => gold
    )