Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno PHP - fce na galerku

Ahoj, nemohu zaboha vymyslet fci, která bude mít jediný vstupní atribut $vstup, který bude string. Potřebuji, aby tato fce hledala ve vstupu např. tento výraz: [GALERY=5]. Z tohoto výrazu si to pozná že má místo toho vypsat galerii s id5 a hodí tam kód na galerku místo tohoto tagu. Pomůžete?

Předmět Autor Datum
Co přesně ti není jasné? Funkce na hledaní je asi takto: if (strpos($vstup,"[GALERY=5]")) {echo "id…
ERASER 18.08.2012 13:25
ERASER
Trochu to upřesním... Může to být jakékoliv ID, ne jenom 5. Musí to fungovat univerzálně a hlavně, v…
arial 18.08.2012 13:36
arial
Jak vypadá vstupním string? Který z těch bodů (1, 2, 3) ti není jasný? A co už máš naprogramovaného?
ERASER 18.08.2012 13:50
ERASER
už to mám ;-) function post_cnt($html){ $galerySQL=mysql_query("SELECT * FROM galery"); while($gale…
arial 18.08.2012 14:37
arial
Tak špatně taky :-( tohle by už mělo být správně, ale nemění to ve stringu, stále zůstává tag a netu…
arial 18.08.2012 15:09
arial
Teď vyřešeno, stále to bralo jako zdroj vstupní html a tedy to fungovalo pouze s posledním id, stači… poslední
arial 18.08.2012 15:20
arial

Trochu to upřesním... Může to být jakékoliv ID, ne jenom 5. Musí to fungovat univerzálně a hlavně, v tom stringu jich může být x, nejen jedna. To cos napsal mi najde jen [GALERY=5] ve vstupním stringu, ale já to chci ve výstupu nahradit nějakým kódem. Takže asi takto:

1) projít vstupní string a zjistit zdali je počet [GALERY=X] > 0
2) pokud je podmínka splněna, postupně si je načtu, zjistím si z znich id - tedy hodnotu místo X
3) U všech tagů co se ve stringu nachází provedu výměnu tohoto tagu za nějaký kód, třeba ,,echo "ID5";"

Není to tak jednoduché jak to vypadá...

už to mám ;-)

function post_cnt($html){
$galerySQL=mysql_query("SELECT * FROM galery");
while($galeryRES=mysql_fetch_array($galerySQL)):
$galeryHTML=vypis_galerie($galeryRES['id']);
$result = str_replace($galeryHTML, "[ galery="+$galeryRES['id']+" ]", $html);
endwhile;
return $result;
}

Tak špatně taky :-( tohle by už mělo být správně, ale nemění to ve stringu, stále zůstává tag a netuším proč...

<?php

require 'admin/const.php';
require 'admin/db.php';

function post_cnt($html){
	$gallerySQL=mysql_query("SELECT * FROM gallery");
	while($galleryRES=mysql_fetch_array($gallerySQL)):
		$galleryHTML="Galerie ".$galleryRES["name_of_gallery"];
		$result = str_replace("[GALLERY=".$galleryRES['id_gallery']."]", $galleryHTML, $html);
	endwhile;
	return $result;	
}

$tst="Testovací string [GALLERY=10] něco";

echo post_cnt($tst);

?>

Zpět do poradny Odpovědět na původní otázku Nahoru