如何一次插入所有下拉记录?
How to insert all dropdown record at a time?
我在一个下拉框中有大量的记录(大约27000条以上)。
HTML -
<select name="manufacturer" id="manufacturer">
<option value="">Select a Builder</option>
<option value="1-hull">#1 Hull</option>
<option value="49er">49er</option>
<option value="a-m-f">A M F</option>
<option value="a-m-manufacturing">A&M Manufacturing</option>
<option value="a1-custom-trailers">A1 Custom Trailers</option>
- - - - - -
- - - - - -
<option value="zuma">Zuma</option>
</select>
上面的下拉列表是我从不同网站收集的数据。我想在我自己的网站上放置动态内容。我试图一条一条地插入,单手插入所有记录是不可能的。所以我想使用任何快捷方式将所有这些文本插入我的 MySQL
数据库 table。我需要选项 inner HTML text 将插入到我的数据库 table.
如果我将在 Array
中获取所有选项文本,那么我可以轻松地管理它。但是我很困惑如何使用 PHP
代码获取 Array
中的所有文本。
这是 preg_match_all
的解决方案
<?php
$string = '<option value="">Select a Builder</option>
<option value="1-hull">#1 Hull</option>
<option value="49er">49er</option>
<option value="a-m-f">A M F</option>
<option value="a-m-manufacturing">A&M Manufacturing</option>
<option value="a1-custom-trailers">A1 Custom Trailers</option>
<option value="zuma">Zuma</option>
';
preg_match_all('/>(.*?)<\//',$string,$matches);
var_dump($matches[1]);
?>
DOM Document
是你的好友,
$str = '<select name="manufacturer" id="manufacturer">
<option value="">Select a Builder</option>
<option value="1-hull">#1 Hull</option>
<option value="49er">49er</option>
<option value="a-m-f">A M F</option>
<option value="a-m-manufacturing">A&M Manufacturing</option>
<option value="a1-custom-trailers">A1 Custom Trailers</option>
<option value="zuma">Zuma</option>
</select>';
$doc = new DOMDocument();
$doc->loadHTML($str);
$options = $doc->getElementsByTagName('option');
foreach ($options as $option) {
$value[] = $option->nodeValue;
}
$value; // will contain array with all option values
Why you should not parse HTML with regex?
我在一个下拉框中有大量的记录(大约27000条以上)。
HTML -
<select name="manufacturer" id="manufacturer">
<option value="">Select a Builder</option>
<option value="1-hull">#1 Hull</option>
<option value="49er">49er</option>
<option value="a-m-f">A M F</option>
<option value="a-m-manufacturing">A&M Manufacturing</option>
<option value="a1-custom-trailers">A1 Custom Trailers</option>
- - - - - -
- - - - - -
<option value="zuma">Zuma</option>
</select>
上面的下拉列表是我从不同网站收集的数据。我想在我自己的网站上放置动态内容。我试图一条一条地插入,单手插入所有记录是不可能的。所以我想使用任何快捷方式将所有这些文本插入我的 MySQL
数据库 table。我需要选项 inner HTML text 将插入到我的数据库 table.
如果我将在 Array
中获取所有选项文本,那么我可以轻松地管理它。但是我很困惑如何使用 PHP
代码获取 Array
中的所有文本。
这是 preg_match_all
的解决方案<?php
$string = '<option value="">Select a Builder</option>
<option value="1-hull">#1 Hull</option>
<option value="49er">49er</option>
<option value="a-m-f">A M F</option>
<option value="a-m-manufacturing">A&M Manufacturing</option>
<option value="a1-custom-trailers">A1 Custom Trailers</option>
<option value="zuma">Zuma</option>
';
preg_match_all('/>(.*?)<\//',$string,$matches);
var_dump($matches[1]);
?>
DOM Document
是你的好友,
$str = '<select name="manufacturer" id="manufacturer">
<option value="">Select a Builder</option>
<option value="1-hull">#1 Hull</option>
<option value="49er">49er</option>
<option value="a-m-f">A M F</option>
<option value="a-m-manufacturing">A&M Manufacturing</option>
<option value="a1-custom-trailers">A1 Custom Trailers</option>
<option value="zuma">Zuma</option>
</select>';
$doc = new DOMDocument();
$doc->loadHTML($str);
$options = $doc->getElementsByTagName('option');
foreach ($options as $option) {
$value[] = $option->nodeValue;
}
$value; // will contain array with all option values
Why you should not parse HTML with regex?