我们已经为页面生成器创建了一个图片库插件,它将图像显示为图片库,如下所示:
<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
发布于 2019-05-17 11:18:33
为什么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>发布于 2019-05-17 13:19:37
您可以在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);
https://stackoverflow.com/questions/56178160
复制相似问题