gpt4 book ai didi

javascript - PHP:检测文本中的url,检查url是图像还是网站,然后回显图像

转载 作者:行者123 更新时间:2023-12-03 12:02:32 24 4
gpt4 key购买 nike

所以我正在开发一个项目,我需要做的是我有一些文本,在该文本中它有很多单词,然后是一个图像的网址。我首先需要做的是,检测该网址是网站还是图像,然后如果是图像,我需要使用 <img> 显示图像。标签,如果是网站,则回显带有 <a href> 的 url标签。到目前为止,我有一个脚本来检测它是网址还是图像,但我仍然需要在文本中回显图像或网址。这是脚本:

<?php
function detectImage($url) {
$url_headers=get_headers($url, 1);
if(isset($url_headers['Content-Type'])){
$type=strtolower($url_headers['Content-Type']);
$valid_image_type=array();
$valid_image_type['image/png']='';
$valid_image_type['image/jpg']='';
$valid_image_type['image/jpeg']='';
$valid_image_type['image/jpe']='';
$valid_image_type['image/gif']='';
$valid_image_type['image/tif']='';
$valid_image_type['image/tiff']='';
$valid_image_type['image/svg']='';
$valid_image_type['image/ico']='';
$valid_image_type['image/icon']='';
$valid_image_type['image/x-icon']='';
if(isset($valid_image_type[$type])){
echo "url is image";
} else {
echo "url is website";
}
}
}
?>

最佳答案

函数是一个返回可在程序中使用的值的例程。不要使用函数来输出内容。将您的函数重写为:

<?php
function isValidImage($url) {
$url_headers=get_headers($url, 1);
if(isset($url_headers['Content-Type'])){
$type=strtolower($url_headers['Content-Type']);
$valid_image_type=array();
$valid_image_type['image/png']='';
$valid_image_type['image/jpg']='';
$valid_image_type['image/jpeg']='';
$valid_image_type['image/jpe']='';
$valid_image_type['image/gif']='';
$valid_image_type['image/tif']='';
$valid_image_type['image/tiff']='';
$valid_image_type['image/svg']='';
$valid_image_type['image/ico']='';
$valid_image_type['image/icon']='';
$valid_image_type['image/x-icon']='';
if(isset($valid_image_type[$type])){
return true; // Its an image
}
return false;// Its an URL
}
}

然后在您的逻辑中使用该函数:

<?php
$urls = [
'http://www.google.be',
'http://hearstcommerce.ca/customcontent/members/premium/sample.jpg',
];

foreach($urls as $url) {
if (isValidImage($url) {
echo '<img src="'.$url.'" />';
}else{
echo '<a href="'.$url.'">'.$url.'</a>';
}
}

关于javascript - PHP:检测文本中的url,检查url是图像还是网站,然后回显图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25348490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com