PHP:创建文本和图像列表显示重叠文本的图像

时间:2014-04-30 13:17:15

标签: php html css

我有一个类似数组的字符串,其中包含一个国家/地区的变量列表,以逗号分隔。 例如。这可能是:德国,爱尔兰,瑞典,美国

我正在使用以下PHP行向每个国家/地区添加图片(国家/地区标志)。 所有图像都以与国家/地区相同的名称保存,但图像名称使用下划线而不是空格。

一切都按预期运作 - 我唯一的问题是图片与(以下)国家/地区的名称重叠。 看起来这种情况会发生,因为加载图像需要的时间比获取文本所花费的时间长一两秒。

有没有办法阻止这种情况发生?

我的PHP:

$inputCountries = explode(", ", "Germany","Ireland","Sweden","United States"); // hard-coded for testing
foreach($inputCountries as $key => $val) {
$country1 = str_replace(' ', '_', $val); // required to match country and image names
    $inputCountries[$key] = "<img src='images/icons/flags-32/flag_" . $country1 . ".png' alt='' />&nbsp;" . $val . "&nbsp;&nbsp;";
}
$countries = implode("&nbsp;&nbsp;", $inputCountries);

非常感谢Mike的任何帮助。

3 个答案:

答案 0 :(得分:1)

一种可能的解决方案,使用一些css:

$inputCountries = explode(", ", "Germany","Ireland","Sweden","United States"); // hard-coded for testing
foreach($inputCountries as $key => $val) {
$country1 = str_replace(' ', '_', $val); // required to match country and image names
    $inputCountries[$key] = "<img src='images/icons/flags-32/flag_" . $country1 . ".png' alt='' style='padding-right: 10px;'/><span style='padding-right: 10px;'>" . $val . "</span>";
}
$countries = implode("&nbsp;&nbsp;", $inputCountries);

如果需要,您可以考虑将float:left;添加到img和span标记。

答案 1 :(得分:0)

我找到了一种更简单的解决方法。

如果我只是将一个宽度与图像(style='width:32px')相同的样式添加到img标签中,那么即使加载图像所需的时间比其余部分长,它也会保留宽度和空格。

$inputCountries = explode(", ", "Germany","Ireland","Sweden","United States"); // hard-coded for testing
foreach($inputCountries as $key => $val) {
$country1 = str_replace(' ', '_', $val); // required to match country and image names
    $inputCountries[$key] = "<img src='images/icons/flags-32/flag_" . $country1 . ".png' alt='' style='width:32px' />&nbsp;" . $val . "&nbsp;&nbsp;";
}
$countries = implode("&nbsp;&nbsp;", $inputCountries);

答案 2 :(得分:-1)

帕特里克说,国家名单看起来不像是一个字符串。此外,搜索的分隔符包含空格。

尝试:

$inputCountries = explode(",", "Germany,Ireland,Sweden,United States"); // hard-coded for testing

关于HTML格式化的系统发育可能也是正确的。尝试:

$inputCountries[$key] = "<span><img src='images/icons/flags-32/flag_" . $country1 . ".png' alt='' /></span>&nbsp;<span>" . $val . "</span>&nbsp;&nbsp;";