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

所以我正在一个项目上,我需要做的是有一些文本,在该文本中有很多单词,然后是一个URL(即图像)。我首先需要做的是,检测该URL是网站还是图像,然后如果它是图像,则需要显示带有<img>标签的图像,如果它是网站,则用标记。到目前为止,我已经有了一个脚本来检测它是URL还是图像,但是我仍然需要在文本中回显图像或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";
        }
    }
}
?>

参考方案

函数是一个例程,该例程返回可以在程序中使用的值。
不要使用函数输出stuf。将函数重写为:

<?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>';
   }
}

如果我得到url(''),我该如何使用另一个URL - javascript

我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…

提交初始化后删除某些帖子数据 - javascript

在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _POST表单数据?我想象过程的方式:提交->收集$ _POST数据->发送数据我想做的事:提交->收集$ _POST数据->删除某些元素->发送数据这样就不必更改处理页面以过滤掉不希望接收的元素了吗? javascript大神给出的解决方案 当然可以,您可以在JS …

在js内的php上调试var - javascript

我有一个脚本(editablegrid)在js文件(JSON)(demo.js)内加载一个php文件(loaddata.php)。当我对php文件发出js警报时:echo '<script language="javascript">'; echo 'alert("message suc…

Javascript历史记录。如果不是当前站点,请默认转到页面 - javascript

我在搜索结果中使用以下history.go,并具有跨浏览器可接受的结果。我希望使用PHP解决方案,但这会满足需求,直到我意识到一个更大的问题。<a href="javascript:history.go(-1)">Return To Search Results</a> 我唯一的问题是查看者来自不是源自搜索页面ht…

PHP:不推荐使用password_hash的'salt'选项 - php

我正在使用密码哈希进行注册。我需要手动创建Salt,以下是我使用的代码:$options = [ 'cost' => 11, 'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM) ]; $password = password_hash( $this->…