Autor Zpráva
clovek
Profil
caute, neviete nahodou ze ako sa da spravit taka vec ze kliknem na tlacitko link ktore mi do formu napise
<link>www.odkaz.sk</link>
a potom ked sa to uz bude mat vypisat tak aby sa to zmenilo na
<a href="www.odkaz.sk">www.odkaz.sk</a>
? Uz sa mi to raz podarilo spravit, ale pri viacerych linkoch to blblo :( diky
peta
Profil
clovek
www.miniBB.net
stahnout zdrojak - zobrazit zdrojovy kod

---aaa.htm---
<style>
.smajlici span {cursor:pointer;}
</style>

<script>
function sml(n)
{document.f.t.value+=" *"+n+"* ";}
</script>

<form name="f" action="bbb.php" method="POST">
<input name="t" type="text"/>
<input type="submit"/>
</form>
<div class="smajlici">
<span onclick="sml(1)">1</span>
<span onclick="sml(2)">2</span>
<span onclick="sml(3)">3</span>
</div>

---bbb.php---
<?php
$x = "t"; $x = isset($_POST[$x]) ? $_POST[$x] : "";
$text = $x;
$text = htmlspecialchars($text);
$t = explode("|","<img src="smiles/sm|.gif"/>");
for ($i=0;$i<24;$i++)
{$text = str_replace("*$i*",$t[0].$i.$t[1],$text);}
echo $text;
clovek
Profil
uz som sa pozeral aj na ten miniBB tam som sa ani trosku nevyznal, ale to co si mi napisal mi je k nicomu lebo toto co si spravil tak to dokazem ale ja myslim to co som tam napisal ja ze
<link>www.bla.sk</link>
peta
Profil
clovek
tak do textarea:
<textarea>&lt;link&gt;www.bla.sk&lt;/link&gt;</textarea>
z toho vyplyva reg vyraz
$text = str_replace("&lt;link&gt;(.*)&lt;/link&gt;","$1",$text);
pravdepodobne bude treba neco upravit a zalomitkovat, viz visibone:
http://www.volny.cz/peter.mlich/www.htm#mssub19
a jinak ta ma stranka je generovana JS, kde menim komentare <!--aaa--> za aaa, takze by se to mozna dalo pouzit.
llook
Profil
peta
Jednak ne str_replace a jednak ten regulární výraz bude trošku jinak (aby se hledala nejkratší shoda):

$text = preg_replace("~<link>(.*?)</link>~", '<a href="$1">$1</a>', $text);
Joker
Profil
clovek
Možná je lepší používat místo <link> třeba [link], pak není potřeba řešit &lt; a &gt;
clovek
Profil
supeeeer diky moc :)
Toto téma je uzamčeno. Odpověď nelze zaslat.