Autor Zpráva
Bohuš
Profil *
Zdravíčko, mohl by někdo poradit jak nahradit části img tagu? Př.:

<img src="cokoli" class="cokoli"> 


nahradit prostym 'image' - dělám to přes str_replace:

$contents = Str_Replace("<img src=\"smails/1.png\">", " :-) ", $contents);


ale potřebuju aby namísto cesty bylo něco (pravděpodobně regulární výraz?) co nahradí jakoukoli cestu - teda jestli to vubec nejak jde
Radek9
Profil
Bohuš:
Nějak takto:
$contents = preg_replace("/\<img .*\>/Ui", " :-) ", $contents);
Bohuš
Profil *
Díky za rychlů pomoc :-) ale nejede to možná to mám špatně?

$contents = Str_Replace("/\<img .*\>/Ui", " image ", $contents); 
Radek9
Profil
Bohuš:
To není str_replace, je to preg_replace.
Bohuš
Profil *
Velmi se omlouvám mocný guru :-) jsem už holt starej a slepej - funguje to super díky moc
Bohuš
Profil *
A sakryš ještě jsem zapomněl na ten class jak by to vypadalo?

$contents = Preg_Replace("<img src=\"cokoli\" class=\"cokoli\">", " image ", $contents);
Radek9
Profil
Bohuš:
Tohle nahradí všechny tagy img, pokud bys chtěl s určitými atributy v určitém pořadí, tak takto:
$contents = preg_replace("/\<img src=\".*\" class=\".*\"\>/Ui", " image ", $contents);
Bohuš
Profil *
Učinil jsem velký objev :-) potřebuju něco trochu jiného tohle mi totiž přpepíše všechny img tagy v souboru a to ja nepotřebovat :-(
potřebuju jen změnit ty tagy na výstupu v textarea aby tam prostě nebyl ten tag (a stačí jen nahradit cokoli za miniatury/), ale jen image(ale nepřepisovat nic v souboru)- takle jsem to zkusil predelat ale nende to co s tím?

$contents = Str_Replace("<img src=\"miniatury/^.*$\">", " image ", $contents);
Keeehi
Profil
Bohuš:
Jak dlouho ti to bude trvat, než konečně přestaneš s tím Str_replace?
Ten regulár by vypadal asi takto: "/<img src=\"miniatury\/.*\">/Ui"
Radek9
Profil
Bohuš:
Za prvé furt pořádně nechápu, co chceš nahradit. Napiš sem něco ve tvaru <img src="miniatury/cokoliv" …>, abych to pochopil, jinak se nikam nedopracujeme. A za druhé tam pořád motáš str_replace. Jsou to různé funkce, obě mají na starost trochu něco jiného.
Bohuš
Profil *
no problém je v tom že když je tam preg_replace tak mi to přepíše všecky img tagy v souboru a to nechci ukážu celý skript at se tedy nekam dopracujeme. Přes formulář klasicky upravuju text v souboru:

if (isset($_POST["uprav"]))
{




$soubor = fopen("$stranka", "w");

$filename = "$_POST[text]";

$filename = Str_Replace("\n","<br>",$filename);
$filename = Str_Replace("..", "<b>", $filename);
$filename = Str_Replace(",.", "</b>", $filename);
$filename = Str_Replace(" :-) ", "<img src=\"smails/1.png\">", $filename);
$filename = Str_Replace(" image ","<img src=\"miniatury/$_GET[src]\">", $filename);

fwrite($soubor, "");

fwrite($soubor, "$filename");

fclose($soubor);


}




no a na výstup používám toto:


$filename = "$stranka";
$handle = fopen($filename, "r");
$contents = @fread($handle, filesize($filename));

$contents = Str_Replace("<img src=\"smails/1.png\">", " :-) ", $contents);
$contents = preg_replace("/\<img .*\>/Ui", " image ", $contents);




no a pak už jen v textarei mam


<textarea id="textarea" rows="15" cols="90" name="text" ><?php echo $contents; ?></textarea>



no a když tedy používám na výstupu toto

$contents = preg_replace("/\<img .*\>/Ui", " image ", $contents);


tak mi to změní při odeslání formu všechny img tagy podle poslsedního odesílaného imgu a to je špatně - nevím proč myslím si že za to může preg replace ale možná taky ne :-)
Keeehi
Profil
Použij regulár z [#9].
Bohuš
Profil *
takto taky nefunguje (regulár z 9)

$contents = preg_replace("/<img src=\"miniatury\/.*\">/Ui", " image ", $contents);

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0