【问题标题】:PHP - Get data from site using ID or classPHP - 使用 ID 或类从站点获取数据
【发布时间】:2013-11-25 13:14:50
【问题描述】:

自从我学习 php 以来已经有一段时间了,有点忘记如何使用 id 和 class 获取 url。

知道如何使用站点的 id(主图像)获取 $img = "url.jpg"

<img style="width:100%;" src="url.jpg" id="mainimage"/><div class="clearfix"></div>

第 2 部分

如果同一类中有多个图像,例如:

$thumb1 = "image_url1";
$thumb2 = "image_url2";

<div id="gallery"><a href="url/stock_img2/36536/1.jpg" class="gallary-tmb"><img src="url/stock_img2/36536/1.jpg" alt="TIIDA LATIO 15B" /></a><a href="url/stock_img2/36536/2.jpg" class="gallary-tmb"><img src="url/stock_img2/36536/2.jpg" alt="TIIDA LATIO 15B" /></a></div><div class="clearfix"></div>
</div>

【问题讨论】:

  • [a-z]* 更改为[a-zA-Z]*

标签: php preg-match


【解决方案1】:

你可以use preg_match() to get url

同样,您可以修改模式以搜索您感兴趣的结果。

试试:

preg_match('/src\="(.*)"\sid\="mainimage"/', $test, $match);
$url = $match[1];

preg_match('/href\="(.*)"\sclass\="gallary\-tmb"/', $test, $match);
$thumb1 = $match[1];

顺便说一句,删除原始问题可能会使某些出色的答案显得无关紧要。如果可以,请将原始问题添加回问题区域,并对之前的答案进行投票。

【讨论】:

  • 主图像完美运行,但第二个图像,我无法仅获取图像 url。并且有 2 个galary-thumb 值
【解决方案2】:

你必须在括号中绑定你想要的匹配项

preg_match('/\<th\>Fuel Type\<\/th\>\<td\>(.*)\<\/td\>/i', $test, $match);

【讨论】:

  • 修正 :preg_match('/\燃料类型\\ (.*)\/i', $test , $match);echo $match[1];
【解决方案3】:

如果提供了匹配项,则将其填充为搜索结果。 $matches[0] 将包含与完整模式匹配的文本,$matches1 将包含与第一个捕获的带括号的子模式匹配的文本,依此类推。

preg_match()

所以你至少需要查看 $match1,但我建议你只使用 print_r($match) 直到你能找到你在做什么。

在 PHP 中使用括号 () 捕获组。

那就试试吧;

$test = "<th>Fuel Type</th><td>GASOLINE</td>";
preg_match('/<td\>([a-z]*)\<\/td\>/i', $test, $match);

回显 $match1;

【讨论】:

    猜你喜欢
    • 2014-09-06
    • 2014-05-25
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    相关资源
    最近更新 更多