我有一个类似数组的字符串,其中包含一个国家/地区的变量列表,以逗号分隔。 例如。这可能是:德国,爱尔兰,瑞典,美国
我正在使用以下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='' /> " . $val . " ";
}
$countries = implode(" ", $inputCountries);
非常感谢Mike的任何帮助。
答案 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(" ", $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' /> " . $val . " ";
}
$countries = implode(" ", $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> <span>" . $val . "</span> ";