`
kirenenko04
  • 浏览: 152227 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

parse html node content

    博客分类:
  • php
 
阅读更多

在使用之前先导入类文件:

require_once 'simple_html_dom.php';

 使用:

		foreach ($results as $row) {
			$html = new simple_html_dom();
			$html->load($row['html']);
			$ret = $html->find('td.productOptionPrompt');			
			$id = $row['id'];
			if (count($ret)) {
				foreach ($ret as $e) {
					$option_id = $e->first_child()->value;
					$option_name = trim($e->innertext);
					$pos = strpos($option_name,'<');
					$option_name = trim(substr($option_name,0,$pos));
					$option_value_name_ret = $html->find('#productOptionValues'.$option_id . ' div label.productOptionValueName');
					$option_value_name = array();
					foreach ($option_value_name_ret as $ovne) {
						$option_value_name[] = trim($ovne->innertext);
					}
					
					$option_value_id_ret = $html->find('#productOptionValues'.$option_id . ' div input');
					$option_value_id = array();
					foreach ($option_value_id_ret as $key=>$ovir) {
						$option_value_id[] = (int)trim($ovir->value);
						//检查是不是存在
						if (!$this->existsProductOption($row['mid'],$option_id,(int)trim($ovir->value))) {
							$sql ="insert into old_product_option_value(`option_id`,`option_value_id`,`option_name`,`option_value_name`,`product_id`)
									values(?,?,?,?,?)";
							$write->query($sql,array($option_id,(int)trim($ovir->value),$option_name,$option_value_name[$key],$row['mid']));
							
							
						}
					}
					$options = array(
							'product_id'=>$row['mid'],
							'option_id' => $option_id,
							'option_name' => $option_name,
							'option_value_id'=>$option_value_id,
							'option_value_name'=>$option_value_name
					);
					var_dump($options);
				}
			}
		}

 

分享到:
评论

相关推荐

    node作为web服务器的小demo

    const parsedUrl = url.parse(req.url); const filePath = path.join(__dirname, parsedUrl.pathname); fs.readFile(filePath, (err, data) =&gt; { if (err) { res.writeHead(404, {'Content-Type': 'text/...

    在node环境下parse Smarty模板的使用示例代码

    const html = compiler.render({ title: 'node-parse-smarty', body: 'Smarty' }); ``` 4. **集成到Express应用**: 如果你的项目使用了Express.js,你可以将生成的HTML发送给客户端。创建一个Express应用,设置...

    Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件

    在Node.js环境中,我们经常需要搭建一个简单的静态资源服务器来托管HTML、CSS、JavaScript等文件。这个过程涉及到服务器对客户端请求的处理,包括解析URL、查找对应的文件,并正确设置HTTP响应头来返回文件内容。...

    uni-app、微信小程序 富文本内容利用html2json转换成对应类似控件 rich-text 对应的数组资源格式!

    return {type: 'text', data: child.content}; } }); } const richTextNodes = processJson(json); ``` 4. **在rich-text组件中使用转换后的数据**:最后,将`richTextNodes`传递给uni-app或微信小程序的...

    Go-基于文本密度的html2article实现[golang]

    doc, err := html.Parse(strings.NewReader(htmlContent)) if err != nil { log.Fatal(err) } ``` **步骤2:文本密度计算** 为了确定文本密度,我们需要计算每个元素中的文本与总元素大小的比例。我们可以遍历解析...

    TextView加载Html图片

    Jsoup.parse(htmlContent).outputSettings(new Document.OutputSettings().prettyPrint(false)) .getElementsTagMap().put("img", new Tag("img") { @Override public void formatOutput(Node node, Document....

    node-test.rar

    res.setHeader('Content-Type', 'text/html'); res.end('已处理表单数据,显示结果&lt;/h1&gt;'); ``` 此外,为了在浏览器中显示结果,我们通常会创建一个HTML表单用于用户输入。这个表单可能通过`GET`或`POST`方法向...

    解析带有html标签的json数据

    2. **保留HTML结构**:如果需要保持HTML结构以便在网页上显示,我们可以直接在前端使用JavaScript的DOM API或者在后端使用服务器端的HTML解析库,如Node.js的cheerio库,来操作这些HTML片段。 3. **安全问题**:...

    从零学习node.js之搭建http服务器(二).docx

    res.writeHead(200, {'Content-Type': 'text/html'}); res.end(data); } else { const formHtml = ` &lt;html&gt; &lt;p&gt;Username: &lt;input type="text" name="username"&gt;&lt;/p&gt; &lt;p&gt;Password: ...

    实战node静态文件服务器的示例代码

    const { pathname } = url.parse(req.url); // 访问路径 const filepath = path.join(config.root, pathname); // 文件路径 fs.createReadStream(filepath).pipe(res); // 读取文件,并响应 } ``` 三、支持寻找 ...

    c++爬取网页的HTML代码

    void parseHTML(const std::string& html) { pugi::xml_document doc; pugi::xml_parse_result result = doc.load_string(html.c_str()); if (!result) std::cerr &lt;&lt; "Failed to parse ...

    02 Node.js HTTP模块、URL模块 supervisor工具1

    response.writeHead(200, {"Content-Type": "text/html;charset=UTF-8"}); response.end("响应数据"); ``` `writeHead()`方法用来设置HTTP响应的状态码(如200表示成功)和头部信息,`end()`方法则结束响应并...

    html连接access数据库的小例子

    例如,如果返回的是JSON格式,可以使用`JSON.parse()`函数解析,然后遍历数据并将其插入到网页相应的元素中。 通过这种方式,HTML页面可以利用JavaScript和ASP来动态地从Access数据库获取并显示数据。然而,需要...

    C#打开指定网页源码

    public void ParseHtml(string html) { var doc = new HtmlDocument(); doc.LoadHtml(html); // 查找并处理HTML元素 var titleNode = doc.DocumentNode.SelectSingleNode("//title"); if (titleNode != null) ...

    htmlparser如何连接网络

    public static void parseHtml(String htmlContent) { Parser parser = new Parser(htmlContent); try { NodeList nodeList = parser.parse(null); for (int i = 0; i (); i++) { Node node = nodeList....

    nodejs 简单实现动态html的方法

    response.writeHead(200, {"Content-Type": "text/html"}); response.write(dataStr); response.end(); } // 读取HTML模板 fs.readFile("login.html", function (err, data) { recall(data); }); }); } ...

    读取html页面内容

    Document doc = dBuilder.parse(new InputSource(new StringReader(htmlContent))); ``` 3. **数据抽取**:现在我们有了一个`Document`对象,可以使用XPath或DOM API来查询和提取所需元素。XPath是一种强大的查询...

    【JavaScript源代码】Node.js之http模块的用法.docx

    const parsedUrl = url.parse(request.url); const filePath = parsedUrl.pathname; fs.readFile(filePath, (err, data) =&gt; { if (err) { response.writeHead(404); response.end('File not found'); } ...

    C# 简单爬虫C# 简单爬虫C# 简单爬虫

    public void ParseHtml(string htmlContent) { var doc = new HtmlDocument(); doc.LoadHtml(htmlContent); // 查找特定元素 var titleNode = doc.DocumentNode.SelectSingleNode("//title"); if (titleNode !...

Global site tag (gtag.js) - Google Analytics