Замяна на числа с картинки (брояч)

talevtehnology

Registered
Здравйте искам да попитам как мога да напражя боряча ми с такива цифри
3258.png


цифрите ги имам от 0 до 9 но въпроса е в масив ли да ги вкарам или как :?
 
До сега се мъчих така и по пътя на логиката би трябвало да бачка ама не и според php :shock:

Код:
<?php
$string = '123456789';
$patterns = array();
$patterns[0] = '0';
$patterns[1] = '1';
$patterns[2] = '2';
$patterns[3] = '3';
$patterns[4] = '4';
$patterns[5] = '5';
$patterns[6] = '6';
$patterns[7] = '7';
$patterns[8] = '8';
$patterns[9] = '9';
$replacements = array();
$replacements[9] = '<img alt="9" src="counterimg/9.png" />';
$replacements[8] = '<img alt="8" src="counterimg/8.png" />';
$replacements[7] = '<img alt="7" src="counterimg/7.png" />';
$replacements[6] = '<img alt="6" src="counterimg/6.png" />';
$replacements[5] = '<img alt="5" src="counterimg/5.png" />';
$replacements[4] = '<img alt="4" src="counterimg/4.png" />';
$replacements[3] = '<img alt="3" src="counterimg/3.png" />';
$replacements[2] = '<img alt="2" src="counterimg/2.png" />';
$replacements[1] = '<img alt="1" src="counterimg/1.png" />';
$replacements[0] = '<img alt="0" src="counterimg/0.png" />';

$ex=preg_replace($patterns, $replacements, $string);

echo"$ex";

?>

Така вади Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash in /opt/lampp/htdocs/rrr.php on line 26

П.П Това го оправих

Код:
<?php
$string = '1';
$patterns = array();
$patterns[0] = '/0/';
$patterns[1] = '/1/';
$patterns[2] = '/2/';
$patterns[3] = '/3/';
$patterns[4] = '/4/';
$patterns[5] = '/5/';
$patterns[6] = '/6/';
$patterns[7] = '/7/';
$patterns[8] = '/8/';
$patterns[9] = '/9/';
$replacements = array();
$replacements[9] = "<img alt=\"9\" src=\"counterimg/9.png\" />";
$replacements[8] = "<img alt=\"8\" src=\"counterimg/8.png\" />";
$replacements[7] = "<img alt=\"7\" src=\"counterimg/7.png\" />";
$replacements[6] = "<img alt=\"6\" src=\"counterimg/6.png\" />";
$replacements[5] = "<img alt=\"5\" src=\"counterimg/5.png\" />";
$replacements[4] = "<img alt=\"4\" src=\"counterimg/4.png\" />";
$replacements[3] = "<img alt=\"3\" src=\"counterimg/3.png\" />";
$replacements[2] = "<img alt=\"2\" src=\"counterimg/2.png\" />";
$replacements[1] = "<img alt=\"1\" src=\"counterimg/1.png\" />";
$replacements[0] = "<img alt=\"0\" src=\"counterimg/0.png\" />";

$ex=preg_replace($patterns, $replacements, $string);

echo"$ex";

?>

Но не работи коректно :?
 
Като цяло си объркал малко синтаксиса на preg_replace();, но и на тебе по ти върши работа str_replace :idea:
<?php
$string = '242';
$patterns = array();
$patterns[0] = '0';
$patterns[1] = '1';
$patterns[2] = '2';
$patterns[3] = '3';
$patterns[4] = '4';
$patterns[5] = '5';
$patterns[6] = '6';
$patterns[7] = '7';
$patterns[8] = '8';
$patterns[9] = '9';
$replacements = array();
$replacements[9] = '<img alt="9" src="counterimg/9.png" />';
$replacements[8] = '<img alt="8" src="counterimg/8.png" />';
$replacements[7] = '<img alt="7" src="counterimg/7.png" />';
$replacements[6] = '<img alt="6" src="counterimg/6.png" />';
$replacements[5] = '<img alt="5" src="counterimg/5.png" />';
$replacements[4] = '<img alt="4" src="counterimg/4.png" />';
$replacements[3] = '<img alt="3" src="counterimg/3.png" />';
$replacements[2] = '<img alt="2" src="counterimg/2.png" />';
$replacements[1] = '<img alt="1" src="counterimg/1.png" />';
$replacements[0] = '<img alt="0" src="counterimg/0.png" />';

$replacements = array_reverse($replacements);

echo str_replace($patterns,$replacements,$string);

?>
array_reversa обръща масива наопаки, както ни трябва в нашия случай. Но не пречи да си го напишеш ръчно (ще е по-добре).
Тоест, първия елемент от масив 1 ще се реплейсне с първия елемент от масив 2.
 

Back
Горе