我正在阅读网站的HTML源代码,可以找到下面的文字,表示产品类别。
"categories\":[{\"code\":\"women-regular-tops-shirtsandblouses\",
在上面我需要找回“women-regular-tops-shirtsandblouses”
请帮我预览模式。
//更新
以下是我正在使用的代码
$html = url_get_contents("http://www.landmarkshops.com/Baby-%26-Child/Baby-%26-Child/Boys-Clothing/T-Shirts-%26-Vests/Lee-Cooper-Striped-T-shirt/p/GL301-006BLUE-Blue");
$re = '/(?<=categories"\:\[\{"code"\:").*?(?=\")/';
preg_match($re, $html, $matches);
var_dump($matches);
但它不起作用。请指教:) @someOne
答案 0 :(得分:0)
所需的字符串介于categories":[{"code":"
和"
之间,因此您可以简单地使用&#34;正面的背后&#34; (?<=)
,以及&#34;积极向前看&#34; (?=)
,检测两端,以及非贪婪的任意字符匹配(.*?
)来捕获字符串:
<?php
$re = '/(?<=categories\\\"\:\[\{\\\"code\\\"\:\\\").*?(?=\\\")/';
$str = '\"categories\":[{\"code\":\"babyandchild-babyandchild-boysclothing-tshirt\",';
preg_match($re, $str, $matches);
var_dump($matches);
//output: babyandchild-babyandchild-boysclothing-tshirt