代码之家  ›  专栏  ›  技术社区  ›  Zach Smith

传递到php函数的字符串在字符串的第一个空格后断开

php
  •  1
  • Zach Smith  · 技术社区  · 8 年前

    我创建了一个简单的函数,输出一个带有正确html标记的图像,如下所示。我面临的问题是当我进入 alt 中高音 休息和表演 alt="My" 喜欢 <img src="blah.jpg" alt="My" cat is great class="home">

    function image_creator($image_url, $alt=false, $class=false) {
        $string = '<img src='.$image_url.' alt='.$alt.' class='.$class.'>';
        return $string;
    }
    
    4 回复  |  直到 8 年前
        1
  •  0
  •   Ronnie Oosting    8 年前

    有点用户失败。没问题!

    <img>

    $image_url = 'https://example.com/image';
    $alt       = 'My cat is awesome';
    $class     = 'image';
    

    所以:

    function image_creator($image_url, $alt=false, $class=false) {
        $string = '<img src='.$image_url.' alt='.$alt.' class='.$class.'>';
        return $string;
    }
    

    <img src="https://example.com/image" alt="My" cat="" is="" awesome="" class="image">

    应该是:

    function image_creator($image_url, $alt=false, $class=false) {
        $string = '<img src="'.$image_url.'" alt="'.$alt.'" class="'.$class.'">';
        return $string;
    }
    

    结果:

    <img src="https://example.com/image" alt="My cat is awesome" class="image">

    文档:

    有关使用引号的一些示例:


    就我个人而言,我想使用:

    // $image below is being sent to the function
    $image = [
        'image_url' => 'https://example.com/image',
        'alt'       => 'My cat is awesome',
        'class'     => 'image',
    ];
    
    function image_creator($image = [])
    {
        if(empty($image))
        {
            return 'No image';
        }
    
        return '<img src="' . $image['image_url'] . '" alt="' . $image['alt'] . '" class="' . $image['class'] . '">';
    }
    
        2
  •  7
  •   Scoots    8 年前

    <img src="blah.jpg" alt="My" cat is great class="home"> -浏览器就是这样解释的。

    你正在输出 <img src=blah.jpg alt=My cat is great class=home>

    $string = '<img src="'.$image_url.'" alt="'.$alt.'" class="'.$class.'">';
    
        3
  •  1
  •   Vivek Modi    8 年前
    $string = "<img src='".$image_url."' alt='".$alt."' class='".$class."'>';
    

    试试这个,我想会有用的

        4
  •  0
  •   lincolndu    8 年前
    //Multiple solution with multiple way
    $image_url = 'https://example.com/image';
    $alt       = 'My cat is awesome';
    $class     = 'image';
    
    $string = '<img src="'.$image_url.'" alt="'.$alt.'" class="'.$class.'">';
    //also you can direct echo 
    echo '<img src="',$image_url,'" alt="',$alt,'" class="',$class,'">';
    
    //also you can direct echo 
    $string=  "<img src='{$image_url}' alt='{$alt}' class='{$class}' >";
    
    //also you can direct echo 
    $string =  "<img src='${image_url}' alt='${alt}' class='${class}' >";
    
    echo $string;
    
    推荐文章