对于想了解如何使用PHP获取SVG标记内容的读者,本文将提供新的信息,我们将详细介绍如何使用php获取svg标记内容,并且为您提供关于PHP-如何从旋转/缩放获取SVG变换矩阵值、php-如何用PHP
对于想了解如何使用PHP获取SVG标记内容的读者,本文将提供新的信息,我们将详细介绍如何使用php获取svg标记内容,并且为您提供关于PHP-如何从旋转/缩放获取SVG变换矩阵值、php-如何用PHP获取SWF和gif动画的缩略图?、使用PHP获取Facebook元标记、在HTML标记内使用PHP变量?的有价值信息。
本文目录一览:- 如何使用PHP获取SVG标记内容(如何使用php获取svg标记内容)
- PHP-如何从旋转/缩放获取SVG变换矩阵值
- php-如何用PHP获取SWF和gif动画的缩略图?
- 使用PHP获取Facebook元标记
- 在HTML标记内使用PHP变量?
如何使用PHP获取SVG标记内容(如何使用php获取svg标记内容)
我想用PHP获取SVG标记内容.
test.svg:
<?xml version="1.0" encoding="utf-8"?>
<!-- comment -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="202.5px" height="226.084px" viewBox="0 0 202.5 226.084" enable-background="new 0 0 202.5 226.084" xml:space="preserve">
<g>
<path d="M0,13.628c47.7940,13.628z"/>
<polygon points="108.48,207.874 145.506,196.948 145.506,204.536 108.48,214.854 "/>
<path fill="none" stroke="#000000" d="M114.55,223.959"/>
</g>
<g>
<path fill="none" stroke="#000000" d="M114.55,223.959"/>
</g>
<anythingElse>
<path fill="none" stroke="#000000" d="M114.55,223.959"/>
<anythingElse>
</svg>
PHP:
$svg = new SimpleXMLElement( file_get_contents( 'test.svg' ) );
$svg->registerXPathNamespace('svg', 'http://www.w3.org/2000/svg');
$svg->registerXPathNamespace('xlink', 'http://www.w3.org/1999/xlink');
现在,我想将svg标记内容作为字符串.
期望的结果(硬编码示例):
$content = '<g>
<path d="M0,13.628c47.7940,13.628z"/>
<polygon points="108.48,207.874 145.506,196.948 145.506,204.536 108.48,214.854 "/>
<path fill="none" stroke="#000000" d="M114.55,223.959"/>
</g>
<g>
<path fill="none" stroke="#000000" d="M114.55,223.959"/>
</g>
<anythingElse>
<path fill="none" stroke="#000000" d="M114.55,223.959"/>
<anythingElse> ';
//编辑:
我不想寻找g标签:’/ svg:svg / svg:g’.
由于无法保证svg内部会有g标签.可能有超过一个g标签或一些其他标签.
我想获得开始和结束svg标签之间的所有内容.
解决方法:
您已经看到了正确的(更可能是:从a previous answer中提供给您的示例代码中进行复制和粘贴,无需进一步了解)您需要在此处为xpath注册XML命名空间,因为它没有前缀在XML中:
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="202.5px" height="226.084px" viewBox="0 0 202.5 226.084" enable-background="new 0 0 202.5 226.084" xml:space="preserve">
它只是URI http://www.w3.org/2000/svg,没有给出前缀.它是< svg>的名称空间.根元素.
因此,您需要注册前缀(另一个已经有前缀的命名空间应该已经自动注册):
$svg->registerXPathNamespace('svg', 'http://www.w3.org/2000/svg');
你到目前为止做了什么.
要在xpath查询中使用您的注册前缀,请在其前面添加标记名:
/svg:svg/svg:g[1]
应该给你第一个< g>该SVG命名空间中的元素.如果仍需要进一步解释/澄清,请告诉我.
见online demo.
这也是上一个问题的原因:
> Loop through SVG elements with PHP
PHP-如何从旋转/缩放获取SVG变换矩阵值
本质上,我正在寻找一个PHP函数或方程式,该函数或方程式将输出SVG转换中使用的Matrix值.
我高低寻觅,可惜什么也没发现.
我很清楚Rotate()和scale函数(),但是这些并不是我所需要的.
我需要能够以度为单位旋转角度以及x / y比例数据,并以SVG转换格式矩阵(a,b,c,d,e,f)输出一系列值
理想情况下,我想在PHP中执行此操作,但是如上所述,标准数学方程式也将有所帮助.
希望有人可以指出正确的方向.
解决方法:
您可以通过将单个转换的矩阵相乘来计算值.看一下SVG specification来找到它们的定义:
rot(a) := matrix(cos(a), sin(a), -sin(a), cos(a), 0, 0)
scale(sx,sy) := matrix(sx, 0, 0, sy, 0, 0)
根据应应用转换的顺序(缩放之前的旋转与旋转之前的缩放),您将获得不同的矩阵:
rot(a)*scale(sx,sy) = matrix(sx*cos(a), sx*sin(a), -sy*sin(a), sy*cos(a), 0, 0)
scale(sx,sy)*rot(a) = matrix(sx*cos(a), sy*sin(a), -sx*sin(a), sy*cos(a), 0, 0)
php-如何用PHP获取SWF和gif动画的缩略图?
php
用php上传动画.gif或.swf文件,上传后再从动画中提取一帧作为这个视频文件的缩略图,用于在网页中显示
使用PHP获取Facebook元标记
我正在尝试从HTML中获取Facebook的元标记。
我正在使用简单的html dom从站点获取所有html数据。我已经尝试过preg_replace,但是没有运气。
例如,我想要获取此fb元标记的内容:
<meta content="IMAGE URL" property="og:image" />
希望有人能帮忙!:-)
答案1
小编典典我将建议使用get_meta_tags(),但似乎不起作用(对我而言):s
<?php$tags = get_meta_tags(''http://www.example.com/'');echo $tags[''og:image''];?>
但是我还是建议还是使用DOMDocument:
<?php$sites_html = file_get_contents(''http://example.com'');$html = new DOMDocument();@$html->loadHTML($sites_html);$meta_og_img = null;//Get all meta tags and loop through them.foreach($html->getElementsByTagName(''meta'') as $meta) { //If the property attribute of the meta tag is og:image if($meta->getAttribute(''property'')==''og:image''){ //Assign the value from content attribute to $meta_og_img $meta_og_img = $meta->getAttribute(''content''); }}echo $meta_og_img;?>
希望能帮助到你
在HTML标记内使用PHP变量?
我对php还是很陌生,但是我在这个问题上陷入了困境。。。说我等着用给定的参数链接到另一个站点,我该如何正确处理?
这就是我现在所拥有的:
<html>
<body>
<?php
$param = "test";
echo "<a href="http://www.whatever.com/$param">Click Here</a>;
?>
</body>
</html>
关于如何使用PHP获取SVG标记内容和如何使用php获取svg标记内容的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于PHP-如何从旋转/缩放获取SVG变换矩阵值、php-如何用PHP获取SWF和gif动画的缩略图?、使用PHP获取Facebook元标记、在HTML标记内使用PHP变量?等相关内容,可以在本站寻找。
本文标签: