>我创建了一个简单的函数,该函数输出具有正确html标记的图像,如下所示。我面临的问题是,当我进入带有空格的alt
文本时,例如"我的猫很棒",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;
}
你实际上并没有输出<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.'">';
$string = "<img src='".$image_url."' alt='".$alt."' class='".$class."'>';
试试这个我认为它会起作用
一点用户故障。没关系!
确保您正确拥有<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">
你看到区别了吗?仔细看报价。
文档:
- http://php.net/manual/en/language.types.string.php
有关使用引号的一些示例:
- https://www.virendrachandak.com/techtalk/php-double-quotes-vs-single-quotes/
我个人想使用:
// $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'] . '">';
}
//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;