我们为“页面”构建器创建了一个图片库插件 像这样将图像显示为图库:
<img class="sppb-img-responsive" src="'.JUri::base(true).'/'.$value->thumb.'" alt="' . $value->title . '">
但是问题是当它使用外部图像链接时 它返回一个错误,如本例所示:
<img class="sppb-img-responsive" src="/dev/ibwintalldev/https://cdn.pixabay.com/photo/2015/05/15/14/38/computer-768608_1280.jpg" alt="test">
有什么方法可以检测到此问题以解决此问题?
还是要检查图像是否具有外部链接?
谢谢 拉玛(Lahmar)
答案 0 :(得分:0)
为什么src
标签包含/dev/ibwintalldev/
,因为未显示哪个图像。删除并尝试。
<html>
<body>
<img class="sppb-img-responsive"
src="https://cdn.pixabay.com/photo/2015/05/15/14/38/computer-768608_1280.jpg"
alt="test">
</body>
</html>
答案 1 :(得分:0)
您可以像在javascript中那样删除https:
之前不需要的文本:
// returns all images on page
images = document.getElementsByTagName("img")
for (let img of images) {
// replaces extra text from the src
img.src = img.src.replace(/(.+?)(?>http)/, "")
}
正则表达式说明:
(。+?)匹配直到此之后的所有内容(如果有的话)(即
http
)并添加到匹配组(?= {
http
)向前寻找模式http
(但不包含在匹配组中,因此不会被替换)
以下显示了正则表达式的工作原理:
let img = new Image;
img.src="/dev/ibwintalldev/https://cdn.pixabay.com/photo/2015/05/15/14/38/computer-768608_1280.jpg";
// we apply the regex
img.src = img.src.replace(/(.+?)(?=http)/, "")
console.log(img.src);