Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: erico9999 19 Dubna 2010, 21:50:50
-
Zdravím :)
Vím že tohle asi tady moc nepatří, ale už si prostě nevím rady...Googlil jsem jak se dalo, byl na všemocných forech a nikde nic....Tak se obracím k vám.
Začal jsem dělat v php, a potřeboval bych jednu věc:
Mám formulář, kde zadám nějaký text, odešlu pomocí post metody a zobrazím text na další straně. To funguje bez problému, jemože já bych pořeboval měnit určitý text na jiný. Tak například: kdybych napsal - obrazek[/o], tak aby se v konečném důsledku místo "
- obrazek[/o]" napsalo "<img src="obrazek">", čili zaměnit ty očka se závorkami. Nevím přesně jestli se to takhle dělá, vím že se to používá, ale možná se to delá jiným způsobem. Prostě chci udělat něco na zpusob tohoto:
http://bmx-street.com/forum.php
-
http://www.php.net/manual/en/function.substr-count.php
http://www.php.net/manual/en/function.explode.php
-
http://interval.cz/clanky/php-prace-s-retezci-v-php-podruhe/
-
http://www.php.net/manual/en/function.substr-count.php
http://www.php.net/manual/en/function.explode.php
Právě tomuto jsem se vyhýbal, protože anglicky neumím.....ale tak asi je na čase vyzkoušet ten google překladač :)
-
procti si manual k funkci ereg a str_replace, bude se ti to hodit
-
Někde jsem našel preg_replace_callback, a podle toho co jsme o tom četl si myslim že je to idealní, ale žádnej návod jsme k tomu nenašel
-
Co je na tom složitého?
1) [ o] zaměníte za "<img src="
2) [/o] za ">"
-
Co je na tom složitého?
1) [ o] zaměníte za "<img src="
2) [/o] za ">"
No to právě chci ale nevím jak
Zjednodušeně mám tohle:
$text = stripslashes($_POST['text'])
echo $text
A kde mám co dát, pokud se někde v tom textu objeví [ o], aby se změnilo za <img scr=??
-
nějak takhle
$novytext = Str_Replace ("[o]", "\"<img src=\"", $puvodnitext);
Jestli se v php uvozují uvozovky zpětným lomítkem nebo zdvojením nebo apostrofem si někde najděte/vyzkoušejte. Ono je to v různých jazycích různé.
-
Ta díky moc :) funguje to přesně jak jsem chtěl :)
-
manualy ke vsem funkcim misty i cesky jsou na http://cz.php.net. Doporucuji procist i serialy na linuxsoftu o PHP
-
Ešte pridám trošku do mlyna.
<?php
function img($text)
{
$text = preg_replace("/\[o\](.*)\[\/o\]/Ui","<img src=\"$1\" alt=\"Obrázok\" />",$text);
return $text;
}
echo img("[o]img.png[/o]");
?>
-
Tak jsem tu zas, já vím, jsem už asi trošku otravný, ale tohle mi vrtá hlavou už pěknejch pár dní, a nemůžu na to přijít, každý den progoogluju hodiny a nenajdu řešení...
Mám (zjednodušeně) formulář:
<form action="uloz.php" method="POST">
<input ........>
<input type="submit" value="Přidat">
</form>
A já bych potřeboval (co nejméně složitě) vytvořit tlačítko náhled. Uživatel zadá pár informací, které se při ukládání ještě přemění a já chci, aby uživatel mohl vidět konečný výsledek i po přeměně toho co zadal a mohl si tak zkontrolovat jestli někde něudělal chybu a jak to celé bdue vypadata. Jednoduše potřebuju vytvořit tlačítko, které bude odkazovat na nahled.php, a potom buď se vrátí na předchozí stranu (ovšem museli by se nějak zachovat data ve vyplněném formuláři) a nebo by odkazovala na uloz.php, ovšem by se nějak museli předát všechny ty proměnné, což nevím jak udělat. Už jsem to zkoušel vytvořit přes javascript ale nefunguje to tak jak bych potřeboval. Víte nepotřebuju se toho moc naučit, potřebuju dodělat jednu věc a pak s tuhle parádou skončím :) tak děkuju za trpělivost (stručně řečeno potřebuju udělat tlačítko jako tady na tomhle foru "Prohlédnout")
-
Tak to pěkně lžete, že jste nenašel odpověď... chce si to trochu přečíst o html a hned musí mít člověk jasno... ale Vy vyloženě chcete, aby to někdo udělal za Vás!!!! :'(
tag input má hezkou vlastnost value... he he možná Vám to pomůže v googlení...
PS: ještě Vám pomohu v tom, že když si zachytíte, zda-li se stisklo ono tlačítko náhled:
if (isset($_POST['name_tlacitka_nahle']))
a vykreslíte onen náhled... ,ale stále necháte vykreslovat onen form s nastavenýma value z postu, tak máte vyhráno... ale jak jsem psal výše, toho bude nejmíň tuna na netu!
-
jeste bych doplnil, element <textarea> nema value, v textaree se text zobrazuje nasledovne:
<textarea rows='10' cols='10'>$text</textarea>
opravdu hledejte a zkuste si precist nejaky ukazkovy skripty, tohle je zakladni vec, kterou obsahuje kazdej funkcni formular
-
to je vsechno hezky, ale bacha na xss :)
-
to je vsechno hezky, ale bacha na xss :)
No to je taky hezký... ale to už říkáte taktéž... radši mu to napište... daný neumí html... takže až se ho naučí... může zkoušet filtrovat vstup... nejlépe vypnout tagy úplně na vstupu pokud se jedná o veřejnou diskuzi či jiné vkládání.... a udělat si vlastní např jak to je tady v tomto formu pro vkládání. Ale tímto bych se zabýval až budu umět pořádně html aspoň.
-
Tak to pěkně lžete, že jste nenašel odpověď... chce si to trochu přečíst o html a hned musí mít člověk jasno... ale Vy vyloženě chcete, aby to někdo udělal za Vás!!!! :'(
tag input má hezkou vlastnost value... he he možná Vám to pomůže v googlení...
PS: ještě Vám pomohu v tom, že když si zachytíte, zda-li se stisklo ono tlačítko náhled:
if (isset($_POST['name_tlacitka_nahle']))
a vykreslíte onen náhled... ,ale stále necháte vykreslovat onen form s nastavenýma value z postu, tak máte vyhráno... ale jak jsem psal výše, toho bude nejmíň tuna na netu!
přesně tohle jsem chtěl :) jsem pako, už jsem na to narazil, přesně tohohle jsem docílil i pomocí javascriptu, jenomže po vrácení zpátek mi sice zůstaly data ve formuláři, ale už nefungovalo to druhé tlačítko :) tímhle se to vyřešilo krásně :) díky moc teda a opravdu nepotřebuju aby ste to za mě udělali, už jsem udělal myslím hodně, pracuji na tom asi dva týdny a už to mám skoro hotoví, jen s tímhle jsem si vážně nevěděl rady a přitom je to tak prostě :) ještě jednou se omlouvám a děkuju za pomoc.
-
Okej... chce to lépe hledat... i když někdy s tím mám taky problémy ;D
PS: na js používej jQuery, docela se to oplatí... ;)