Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP从html代码抓取图像-简单_Php_Html_Regex - Fatal编程技术网

PHP从html代码抓取图像-简单

PHP从html代码抓取图像-简单,php,html,regex,Php,Html,Regex,我在我的网页上有一个文本编辑器,我把图片放在文本编辑器上,然后在我网站的不同部分使用该图片,但是在不同的地方图片的大小不同 数据库中的图像是这样存储的: 现在,在我的网站的一部分中,我想使用不同大小的相同图像,因此我需要一些php脚本来获取图像的路径,在这个示例中(/portali/userfiles/image/Kategorite/teknoogji/-1.jpg) 一些人可以在这里写一些基本的脚本来实现这一点,记住图像的整个html代码都在一个变量中 我认为你的一般方法可能是错误的,这取决

我在我的网页上有一个文本编辑器,我把图片放在文本编辑器上,然后在我网站的不同部分使用该图片,但是在不同的地方图片的大小不同

数据库中的图像是这样存储的:

现在,在我的网站的一部分中,我想使用不同大小的相同图像,因此我需要一些php脚本来获取图像的路径,在这个示例中(/portali/userfiles/image/Kategorite/teknoogji/-1.jpg)


一些人可以在这里写一些基本的脚本来实现这一点,记住图像的整个html代码都在一个变量中

我认为你的一般方法可能是错误的,这取决于你在做什么。只需存储文件名和可能的路径,而不是将图像字符串存储在数据库中。然后在HTML代码中手动生成字符串:

<img src='<?= $row['path'] . '/' . $row['image'] ?>' width='XXX' height='XXX'/>
'width='XXX'height='XXX'/>
这样,您可以添加任意多个不同的参数


此外,为了尽可能提高效率,不要使用样式标记或内联宽度/高度来调整图像大小,而是使用诸如PHP GD或ImageMagick之类的工具来实际制作需要显示的大小的缩略图。从长远来看,这将为您节省大量的麻烦和带宽。

我认为您的一般方法可能是错误的,这取决于您正在做什么。只需存储文件名和可能的路径,而不是将图像字符串存储在数据库中。然后在HTML代码中手动生成字符串:

<img src='<?= $row['path'] . '/' . $row['image'] ?>' width='XXX' height='XXX'/>
$html = '<?xml version="1.0" encoding="UTF-8"?>'.$yourHTMLFromDb;
$elements = new SimpleXmlElement($html);
$url = $elements->img->attributes()->src;
'width='XXX'height='XXX'/>
这样,您可以添加任意多个不同的参数

此外,为了尽可能提高效率,不要使用样式标记或内联宽度/高度来调整图像大小,而是使用诸如PHP GD或ImageMagick之类的工具来实际制作需要显示的大小的缩略图。从长远来看,这将为您节省大量的麻烦和带宽。

$html='.$yourHTMLFromDb;
$html = '<?xml version="1.0" encoding="UTF-8"?>'.$yourHTMLFromDb;
$elements = new SimpleXmlElement($html);
$url = $elements->img->attributes()->src;
$elements=新的simplexmlement($html); $url=$elements->img->attributes()->src;
现在我肯定我不会第一个说,但是。。。“你做错了”。您应该只在数据库中存储图像的路径(可能还有一些其他属性),而不是html片段。

$html='.$yourHTMLFromDb;
$elements=新的simplexmlement($html);
$url=$elements->img->attributes()->src;

现在我肯定我不会第一个说,但是。。。“你做错了”。您应该只在数据库中存储图像的路径(可能还有一些其他属性),而不是html片段。

我知道这种方法不好,但我使用文本编辑器,因为这是从服务器上传和使用上传图像的最好、最简单的方法。我知道这种方法不好,但是我使用文本编辑器,因为这是从服务器上传和使用上传图像的最好、最简单的方法。我从您的代码中得到这个错误:警告:SimpleXMLElement::u construct()[SimpleXMLElement.-construct]:Entity:第1行:解析器错误:第189行的/home6/feksinte/public_html/portali/index.php中未定义实体“euml”。抱歉,编码应该是
“UTF-8”
更新了我的帖子。。但是,您提供的示例html仅显示div中的一个图像,该实体来自何处?如果该实体不在图像的src中,则必须在其中包含其他标记,这些标记可能会改变您访问dom中元素的方式。我发布的代码只适用于您在示例中提供的结构。再次出现相同的错误。我有一个和管理面板,在其中插入数据,因此我使用一个现成的富文本编辑器(基于java脚本)。当我使用文本编辑器上传一张图片时,它会按照我向你展示的方式存储这张图片。我不知道我做错了什么,但我仍然有同样的问题如何在PHPi中打印(回显)此错误从代码中获取此错误:警告:SimpleXMLElement::u构造()[SimpleXMLElement.-构造]:Entity:第1行:解析器错误:第189行的/home6/feksinte/public_html/portali/index.php中未定义实体“euml”。抱歉,编码应该是
“UTF-8”
更新了我的帖子。。但是,您提供的示例html仅显示div中的一个图像,该实体来自何处?如果该实体不在图像的src中,则必须在其中包含其他标记,这些标记可能会改变您访问dom中元素的方式。我发布的代码只适用于您在示例中提供的结构。再次出现相同的错误。我有一个和管理面板,在其中插入数据,因此我使用一个现成的富文本编辑器(基于java脚本)。当我使用文本编辑器上传一张图片时,它会按照我向你展示的方式存储这张图片。我不知道我做错了什么,但我仍然有同样的问题如何在PHPi中打印(回显)这是最好的方法,但我的情况与我在问题中描述的一样,谢谢你的努力我知道这是最好的方法,但我的情况与我在问题中描述的一样,谢谢你的努力