-1

我想将变量设置为带有变量源的 HTML 图像标记。这是我的功能。

function convertImageMod($string)
{
$string = preg_replace('/\s+/', '', $string);
$string = str_replace("'", "", $string);
$stringlength = strlen($string);
$stringlength -= 3;
$string = substr ($string, 0, $stringlength);
$string = strtolower ($string);
$string = "<img src:\"images/items/" . "$string" . ".png" . "\"></img>" ";
return $string;
}

但是,我不断收到以下错误:

解析错误:语法错误,第 26 行 C:\web\functions.php 中的意外 '"'

我以为我已经正确地逃避了所有必要的报价。知道我收到此错误消息是什么吗?

4

4 回答 4

1

那里的错字:

$string = "<img src:\"images/items/" . "$string" . ".png" . "\"></img>" ";

你可以解决这个问题:

$string = "<img src=\"images/items/{$string}.png\">";

您没有正确转义"双引号。

升级版:

此外,<img />标签不需要结束标签。见规格

于 2013-07-30T02:41:08.593 回答
1

为什么不使用“双引号”作为变量并在“单引号”内,它非常干净且易于阅读

$string = "<img src='images/items/{$string}.png'>";
于 2013-07-30T02:54:05.947 回答
0

正如错误消息所说,您的行中有“太多:

$string = "<img src:\"images/items/" . "$string" . ".png" . "\"></img>" ";

它应该是:

 $string = "<img src:\"images/items/" . "$string" . ".png" . "\"></img>";
于 2013-07-30T02:42:38.500 回答
0

改变:

第 26 行

$string = "<img src:\"images/items/" . "$string" . ".png" . "\"></img>" ";

至:

第 26 行:

$string = "<img src:\"images/items/".$string.".png \"></img>";
于 2013-07-30T02:44:16.567 回答