Autor Zpráva
unknown.
Profil *
dobrý den potřebuji z tohoto řetězce vytáhnout data
$retezec = "@Pavel:text text, další text";

a potřebuji aby mi to rozložilo na proměnné
$jmeno "Pavel";
$text "text text, další text";
díky moc
RockFire
Profil
Netvrdím, že nejlepší řešení, ale:
$retezec = explode(":", $retezec);
$jmeno = substr($retezec[0], 1);
$text = $retezec[1];
unknown.
Profil *
jo to bych ještě zvládl, ale já bych potřeboval, aby to dělalo jen když tam je ten zavináč
IdemeNaHavaj
Profil
$zavinac = substr($retezec[0], 0, 1);
if($zavinac=="@"){
$jmeno...
$text...
}
RockFire
Profil
Nebo:
$retezec = "@Pavel:text text, další text";
if(preg_match("/^@(.*)/", $retezec))
{
  $retezec = explode(":", $retezec);
  $jmeno = substr($retezec[0], 1);
  $text = $retezec[1];
}
unknown.
Profil *
funguje to dobře do té doby dokud nenapíšu

$retezec = "@Pavel:text text :D";
smajlík už mi to nevezme
Tori
Profil
unknown.:
explode má i třetí parametr.
RockFire
Profil
Tedy takto:
$retezec = "@Pavel:text text, další text :D";
if(preg_match("/^@(.*)/", $retezec))
{
  $data = explode(":", $retezec);
  $jmeno = substr($data[0], 1);
  $text = substr($retezec, strlen($data[0])+1);
}

EDIT: Tori mě předběhl a poradil lépe :) :

$retezec = "@Pavel:text text, další text :D";
if(preg_match("/^@(.*)/", $retezec))
{
  $retezec = explode(":", $retezec, 2);
  $jmeno = substr($retezec[0], 1);
  $text = $retezec[1];
}
Someone
Profil
    $string = "@Pavel:text text :D";
    preg_match("/^@(.*?):(.*)$/",$string,$matches);
    echo $matches[0]; // Pavel
    echo $matches[1]; // text text :D



RockFire:
Tori mě předběhla a poradila lépe...
:)

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: