加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用PHP的file_get_contents后,将类添加到SVG元素

发布时间:2020-12-13 16:59:37 所属栏目:PHP教程 来源:网络整理
导读:我需要获取SVG图像并将图像插入页面.我使用以下方式获取图像: ?php echo file_get_contents("logo.svg"); ? 输出类似的东西 svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"" path d="M12 2c5.514 0 10 4.486"/path/sv
我需要获取SVG图像并将图像插入页面.我使用以下方式获取图像:

<?php echo file_get_contents("logo.svg"); ?>

输出类似的东西

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"">
    <path d="M12 2c5.514 0 10 4.486"></path>
</svg>

在插入页面后,如何将类添加到SVG元素?如:

<svg class="LogoStyle" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"">
    <path d="M12 2c5.514 0 10 4.486"></path>
</svg>

或定位到路径元素:

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"">
    <path class="LogoStyle" d="M12 2c5.514 0 10 4.486"></path>
</svg>

任何帮助都会很好,谢谢!

解决方法

您可以将svg存储为PHP变量,然后使用DOMDocument()功能来完成此任务.

$svg = file_get_contents("logo.svg");
$dom = new DOMDocument();
$dom->loadHTML($svg);
foreach($dom->getElementsByTagName('svg') as $element) {
    $element->setAttribute('class','new-classname-goes-here');  
}
$dom->saveHTML();
$svg = $dom->saveHTML();    
echo $svg;

要定位路径而不是svg元素,只需将getElementsByTagName(‘svg’)更新为getElementsByTagName(‘path’).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读