我的脚本的一个特定问题,包括PHP,DOM和正则表达式

时间:2011-04-01 00:57:54

标签: php regex dom

我正在编写一个脚本,使用DOM和正则表达式获取博客文章的内容和图像。

除以下内容外,脚本已完成。我的目标是获取内容(已完成)所有帖子的图像,除了第一个,并将它们添加到值为varcontent1,2,3等的新内容。

该脚本运行25次(页面中的帖子数),并且有一个变量$i。以下代码获取当前帖子内容并将其保存到$varcontent1。它还获取整个网站的所有图像(带有坏词列表)并将它们打印为数组。

我的问题是如何将当前图像保存到当前帖子?最后,我将它们转换为<img src="xxxx">(我想我知道该怎么做)。

更新:结果将提交给表单。如果我将当前图像URL放到新的帖子变量怎么办?

注意:我可以使用DOM获取图像,因为我加载了页面,而不是loadHTML。

preg_match_all('!http://.+\.(?:jpe?g|png|gif)!Ui', $content, $matches);

    preg_match_all('/\S+(list|of|bad|words)\S+/i', $content, $bads);

    $filtered = array_values(array_diff($matches[0], $bads[0]));

1 个答案:

答案 0 :(得分:1)

尝试使用偏移...

preg_match_all('!http://.+\.(?:jpe?g|png|gif)!Ui', $content, $matches, NULL, 1);

不要使用1,2,3 ...使用数组...

$varcontent[$i]["content"] = $content;
$varcontent[$i]["images"] = array_unique($filtered);

阅读帖子时......

foreach($varcontent as $content){
    echo $content["content"]; // HTML or plain text
    foreach($content["images"] as $image){
         echo '<img alt="" src="'.$image.'"/>'; // All images
    }
}