【发布时间】:2020-06-23 05:04:29
【问题描述】:
我正在尝试从 shields.io 创建一个自定义屏蔽。我尝试了使用json 创建端点的路线,但由于可访问性问题,这对我不起作用。我想出了一个解决方法,我从我的 php 端调用 shields.io 链接,然后将其返回到一个端点,然后从我的md README 文件中的<img> 标签中调用该端点。
如果我在浏览器中输入网址,它可以正常工作,并且我看到了防护罩。如果我尝试在我的 README 中的 <img> 标签中使用该 url,它就不起作用。我意识到这是因为我从我的 php.ini 中返回了额外的 <html> 元素。这是我的代码:
php:
$router->get('/badge', function (AssetsManifestGateway $assetsManifestGateway) {
$appVersion = $assetsManifestGateway->getAppVersion();
$shield = file_get_contents("https://img.shields.io/static/v1?label=". config('app.partner_code'). "_". config('app.env'). "&message=". $appVersion);
return $shield;
});
自述文件:
<img src="http://<my url>/badge">
在我的浏览器中访问 url 时的响应:
<html>
<head>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg">
<extra content>
</svg>
</body>
</html>
所以我基本上只想返回该响应的<svg> 部分。这可能吗?
【问题讨论】:
-
你试过使用 strip_tags 吗?
-
是的,但这并没有起到作用。
-
尝试使用 html_entity_decode 我希望它运作良好。
-
不,仍然没有。我认为返回的 url 可能会返回“干净”,没有 html,但可能 html 是在其他地方呈现的。但是我查了一下,没看到。
-
也许有办法告诉
php只发送响应而不生成任何其他html?
标签: php html shields.io