Autor Zpráva
visionic
Profil *
Dobrý den,

zajímalo by mě jestli php umí určit proměnnou z pohého textu.

Nyní např používám toto:
$info[banka] = '100089980/0300';
$info[vs] = '12345678';

$text = 'pošlete na účet [banka] penize pod vs: [vs]';

$pro = array("[banka]",
                     "[vs]"
                   );
                   
$za = array($info[banka],
                   $info[vs]
                  );                

$novy_text = str_replace($pro,$za,$text);

echo $novy_text; //pošlete na účet 100089980/0300 penize pod vs: 12345678 


Chtěl bych docílit také něčeho takového:
[banka-030000]
prepracovala na
$banka = 03000;

echo $banka; //03000

Jak toho docílit?
juriad
Profil
<?php
$text = "neco neco [banka-030000] a neco [vs-203]blabla";

preg_match_all('/\[([a-z]*)-([0-9]*)\]/', $text, $matches, PREG_SET_ORDER);
foreach($matches as $match) {
  $info[$match[1]] = $match[2];
}

var_dump($info);

Mimochodem, to ti nevadí, že na tebe PHP křičí, že používáš nedefinované konstanty?
visionic
Profil *
juriad:
nekřičí, protože jsem tohle psal z hlavy, jako jednoduchý zápis pro vysvětlení.

Děkuji za tvůj příklad, odzkouším.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: