我在下拉框中有大量记录(大约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
数据库表中插入所有这些文本的任何快捷方法。我需要选项内部HTML文本将插入到我的数据库表中。
如果我在Array
中获得所有选项文本,那么我可以轻松管理它。但我很困惑如何使用Array
代码获取PHP
中的所有文字。
答案 0 :(得分:2)
这是一个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]);
?>
答案 1 :(得分: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