Goedendag, Ik ben Pierre en ben 73 jaar en freubel wat aan mijn website.
Nu heb ik een routine die een string omzet naar images.
het probleem is dat hij dit wel gedeeltelijk doet

De routine:

function txt2dig($string)
{
	$letters = array();
    for($i=0; $i < strlen($string); $i++)
	{
		$letters[] = $string[$i];
	}
	$dig = '';	
	foreach ($letters as $key=>$value)
	{
		$dig .= '<img src=images/site/cijfers_klein/'.$value.'.gif>';
	}
return ($dig);
}

De output
img src=images/site/cijfers_klein/.gif><img src=images/site/cijfers_klein/.gif><img src=images/site/cijfers_klein/.gif>104</span>

Hij zet de waardes niet op de plaats wat ze moeten staan. heb al van alles geprobeerd maar krijg het niet voor elkaar.
Is er iemand die mij een hint kan geven waar het fout gaat.

Het script werkt hier prima. Ik heb het even netjes gemaakt met quotes om het src-attribuut, en een PHP_EOL voor regelafbreking.

Blijkbaar gebruik je spaties. En dan krijg je een lege ruimte, en een niet werkende afbeelding.


<?php
function txt2dig($string)
{
    $letters = array();
    for($i=0; $i < strlen($string); $i++)
    {
        $letters[] = $string[$i];
    }
    $dig = '';    
    foreach ($letters as $key=>$value)
    {
        $dig .= '<img src="images/site/cijfers_klein/'.$value.'.gif">'.PHP_EOL;
    }
return ($dig);
} 


echo txt2dig("hallo");
?>


Uitvoer is als volgt:

<img src="images/site/cijfers_klein/h.gif">
<img src="images/site/cijfers_klein/a.gif">
<img src="images/site/cijfers_klein/l.gif">
<img src="images/site/cijfers_klein/l.gif">
<img src="images/site/cijfers_klein/o.gif">
Aller eerst bedankt voor het beantwoorden.
Maar het is nog steeds hetzelfde.
<img src="images/site/cijfers_klein/.gif">
<img src="images/site/cijfers_klein/.gif">
<img src="images/site/cijfers_klein/.gif">

het getal er achter hoort er niet bij, sorry dat was de stringwaarde voor controle of de images wel goed waren.
het pad naar de images is correct. Heb het file zelfs naar de Strato server gestuurd om te kijken of het daar wel werkt.
Strato werkt met PHP 8.3 en mijn lokaal test server werkt met een lagere versie. Ook dit geeft hetzelfde resultaat.
hij blijft de waardes achteraan zetten in plaats van de tag regel.
<?php
function txt2dig($string)
{
$dig = '';
for($i=0; $i < strlen($string); $i++)
{
$dig .= '<img src="images/site/cijfers_klein/'.$string[$i].'.gif">'.PHP_EOL;
}
return ($dig);
}

echo txt2dig("hallo");
?>

Beetje korter.
Bedankt, maar ook deze geeft hetzelfde resultaat en ook die had ik al geprobeerd
<img src="../images/site/cijfers_klein/.gif">
<img src="../images/site/cijfers_klein/.gif">
<img src="../images/site/cijfers_klein/.gif">

Ik gebruikte deze lokaal en dan werkt alles, echter op de strato webserver geeft hij na enige tijd een error 500

function txt2dig ($txt)
{
$IMG_URL = "images/site/cijfers_klein/";
$result = "";
if (strlen($txt) == '1') $txt = '00'.$txt;
if (strlen($txt) == '2') $txt = '0'.$txt;
$digits = preg_split("//", $txt);
while (list($key, $image) = each($digits))
{
if ($image != "")
{
$result .= "<IMG SRC=\"$IMG_URL$image.gif \" height=\"20\" >";
}
}
return $result;
}
Dat scriptje van mij werkt hier perfect.
Welke PHP versie gebruik je?
de strato webserver gebruikt versie 8.3 Heb jouw script nu op de server staan en het werkt echt niet hoor.


[size=xsmall]Toevoeging op 29/10/2024 15:31:23:[/size]

hier kan je het zien https://the-boss.org/index2.php
Daar heb je errors bij het laden: GET ............/images/site/LR.webp NS_BINDING_ABORTED
Zoveel verstand heb ik er nu ook weer niet van. Ik krijg geen foutmelding op het scherm hoor. LR.webp is de rode led helemaal onderin na het script van de images. Dit zijn een soort digitale cijfers, door EOL staan ze nu wat uit elkaar.

Waar kan ik die melding vinden dan.
In het scherm voor hulpmiddelen voor webontwikkelaars.
Firefox ctrl shift I.
Je had gelijk met de error. Heb enige tijd terug alles omgezet van gif naar webp. Stond nog een .gif tussen door die LR was wat verwarrend, diegene die de fout gaf varieert per afbeelding. bedankt.

[size=xsmall]Toevoeging op 29/10/2024 16:07:48:[/size]

Ik gebruik Chrome en daar is het F12. Het kan niet komen dat het in Chrome niet werkt en in Firefox wel. zou wel vreemd zijn.

Reageren