Autor Zpráva
Kubajs
Profil *
<?php
$code = array('~\[b\](.+)\[/b\]~' => ' <b>$1</b> ', '~\[url\](.+)\[/url\]~' => '<a target="_blank" href="http://$1">$1</a>', '~\[u\](.+)\[/u\]~' => '<u>$1</u>', '~\[sc\](.+)\[/sc\]~' => '<iframe width="100%" height="166" scrolling="no" frameborder="no" src="(.+)\[/yt\]~](.+)\[/yt\]~]http://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F$1&amp;auto_play=false&amp;show_artwork=false&amp;color=ff7700"></iframe>','~\[yt\](.+)\[/yt\]~' => '<iframe width="100%" height="315" src="http://youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>',
'~\[link\](.+)\[/link\]~'=>'<p>
<table class="dwn">
<tr><td width="64px"><img src="/img/dwn.png" /></td><td class="dwn_"><a class="news" href="download.php?name=$1"><h1>download</h1></a></td></tr>
</table></p>'); 
$comment = str_replace("\n"," <br> ",$comment);
$comment = str_replace("http://youtu.be/","",$comment);
$comment = preg_replace(array_keys($code), array_values($code), $comment);
?>

když napíšu:
[yt]odkaz[/yt]
tučně
[yt]odkaz1[/yt]
tak se mi nevypíše nic kromě 1. videa z youtube, díky za pomoc

kód stránky s výpisem:
<?php 
ob_start();
include_once('head.html') ;
     mysql_connect('wm22.wedos.net','*****','*****');
        mysql_select_db('d29838_lookout');
                mysql_set_charset('utf8');
    $result = mysql_query ("SELECT * FROM pages WHERE name = '{$_GET["name"]}'");
    while($new = mysql_fetch_assoc($result)){
    $comment = '<div id="title"><div class="t_text">'.$new['name'].':</div></div><div id="body">'.$new['obsah'].'';
    utf8_encode($comment);
    include('str_replace.php');
    echo $comment;
    mysql_close();    
    }  
include_once('bottom.html'); 
?>

Moderátor Chamurappi: Zveřejňovat přihlašovací údaje do databáze není moudré, odmazal jsem je. Poděkuj Tori za upozornění.
peta
Profil
Jen kopie jeho kodu preformatovana pomoci http://beta.phpformatter.com/
<?php
$code    = array(
    '~\[b\](.+)\[/b\]~' => ' <b>$1</b> ',
    '~\[url\](.+)\[/url\]~' => '<a target="_blank" href="http://$1">$1</a>',
    '~\[u\](.+)\[/u\]~' => '<u>$1</u>',
    '~\[sc\](.+)\[/sc\]~' => '<iframe width="100%" height="166" scrolling="no" frameborder="no" src="(.+)\[/yt\]~](.+)\[/yt\]~]http://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F$1&amp;auto_play=false&amp;show_artwork=false&amp;color=ff7700"></iframe>',
    '~\[yt\](.+)\[/yt\]~' => '<iframe width="100%" height="315" src="http://youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>',
    '~\[link\](.+)\[/link\]~' => '<p>
<table class="dwn">
<tr><td width="64px"><img src="/img/dwn.png" /></td><td class="dwn_"><a class="news" href="download.php?name=$1"><h1>download</h1></a></td></tr>
</table></p>'
);
$comment = str_replace("\n", " <br> ", $comment);
$comment = str_replace("http://youtu.be/", "", $comment);
$comment = preg_replace(array_keys($code), array_values($code), $comment);
?> 

Kubajs:
Jaky je vstupni retezec? Rekneme, ze ten kod neco dela. Ale nevime, co dostane za data, takze nemuzeme rici, jestli to dela spravne a proc to dela. Mi se tam treba nelibi tohle:
src="(.+)\[/yt\]~](.+)\[/yt\]~]
Ale to nebude mit vliv na youtube, jen na soundcloud.
Tori
Profil
Kubajs:
V regulárech změňte všechny výskyty (.+) na (.+?), jinak ten výraz sežere všechno od prvního začátečního tagu po poslední koncový - místo po nejbližší koncový. Viz též manuál (asi v půlce stránky, "greedy quantifiers").

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0