Autor Zpráva
kchrz
Profil
Potřeboval bych pomoct se skriptem, resp s algoritmem, jak to vubec napsat.
Mam textareu a v ni ruzne v textu nahazene [IMG]1[/IMG]...[IMG]14[/IMG]
Potřeboval bych načíst každý [IMG]1[/IMG], konkrétně to číslo uvnitř,ale to už je fuk a zapsat jej do db. Problém je, že moc neumím příkazy na vyhledávání v textu v php.

Asi to bude nějaký ne moc složitý cyklus, kterým projedu daný text.
Díky moc.
BaTeCzKo
Profil
Jo to docela je. Můžeš se inspitovat tímto skriptem, který vyhledává značky [img]parametr[/mg], sbírá parametry a dělá z nich obrázky.


$userdata_note="##".$userdata_note;
$userdata_totalimgstarts=substr_count($userdata_note, "[img]");
while($userdata_currentimg!=$userdata_totalimgstarts){
$userdata_note_imgstart=strpos($userdata_note, "[img]");
$userdata_note_imgend=strpos($userdata_note, "[/img]");
$userdata_note_nextimgstart_part=substr($userdata_note, $userdata_note_imgstart+5);
$userdata_note_nextimgstart=strpos($userdata_note_nextimgstart_part, "[img]");
$userdata_note_realpos=strlen($userdata_note)-strlen($userdata_note_ne xtimgstart_part);
if($userdata_note_imgstart and $userdata_note_imgend and ($userdata_note_nextimgstart+$userdata_note_realpos>$userdata_note_img end or $userdata_note_nextimgstart==0)){
$userdata_note_imgsrc=substr($userdata_note, $userdata_note_imgstart+5, $userdata_note_imgend-$userdata_note_imgstart-5);
$userdata_note_imgsrc=strtr($userdata_note_imgsrc, $trans);
$userdata_note_imgsrc=trim($userdata_note_imgsrc);

$userdata_note_start=substr($userdata_note, 0, $userdata_note_imgstart);
$userdata_note_end=substr($userdata_note, $userdata_note_imgend+6);
$userdata_note="$userdata_note_start<div id='avatar'><img src='$userdata_note_imgsrc' alt='img'></div>$userdata_note_end";
}
$userdata_currentimg++;
}
$userdata_note=substr($userdata_note, 2);
kchrz
Profil
Tak jsem si napsal cyklus a myslel jsem,že mi funguje. tagy v textu mam tedy [IMG]cislo[/IMG]

$vsechnyIMG = substr_count($ss,"[IMG]");
for ($ia=1; $ia<=$vsechnyIMG; ++$ia){
$zacatek = strpos($ss, "[IMG]");
$konec = strpos($ss, "[/IMG]");
$vys = substr($ss,$zacatek,$konec+6);
$ss = str_replace($vys,"",$ss);
$query = "INSERT INTO $pictemp VALUES (0,'$vys')";
mysql_query($query) OR DIE("Není možné přidat soubor do databáze!");
}

Docela by to i fungovalo,ale jen za předpokldu, že v $ss jsou jen tagy [IMG]cislo[/IMG]
Pakliže obsahuje $ss kupříkladu kombinaci 1111 [IMG]cislo[/IMG] 222 [IMG]cislo[/IMG] 333 [IMG]cislo[/IMG]
tak se mi do db ukladá proměnná $vys obsaující namísto [IMG]cislo[/IMG] toto : [IMG]cislo[/IMG]222 v prvním cyklu a v druhém cyklu [IMG]cislo[/IMG] 333.

Asi tuším, kde chyba je,ale nevim, jak ji opravit.
Díky moc
Toto téma je uzamčeno. Odpověď nelze zaslat.

0