Autor Zpráva
Kubsan
Profil *
Chtěl bych si udělat bbkod na youtube. Ve vlastním systému, jakože někam do textarea napíšu [youtube]http://www.youtube.com/watch?v=xHhxs857gME[/youtube] a php kod mi to pak převede do

 <object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/xHhxs857gME&hl=cs_CZ&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/xHhxs857gME&hl=cs_CZ&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

Všem díky za rady
Alphard
Profil
Nepomůže tohle? Tag [url]
Kubsan
Profil *
No tak asi by mi to stačilo, ale kdyby mi ten příkaz a to celý někdo vysvětlil, byl bych vám strašně vděčnej
obzvlášť to:
echo preg_replace("~\[url\](.+)\[\/url\]~U", '<a href="$1">$1</a>', $text);

Předem díky
Apacuka
Profil
ty udelas zapis
[url]adresa[/url]
tento regulerni vyraz vlozi do promenne $1 vse co je mezi [url] a [/url]
a nahradi tím cim chces. V tomto pripade <a href="adresa">adresa</a>.

$text ... to je usek pro ktery ten regulerni vyraz plati

Pri uceni se regulernich vyrazu mi hodne pomohl RegExBuddy3.
Je dostatecny mnozstvi ceskych stranek, kde najdes vysvetleni jak regulerni vyrazy pracuji a jak si slozit vlastni.
Kubsan
Profil *
No a když chci mít, další tag, třeba [img] tak tam jen dám čárku a zase ~\[img\](.+)\[\/img\]~U... a opět se to uloží do $1 nebo jak?
Apacuka
Profil
echo preg_replace("~\[img\](.+)\[\/img\]~U", '<img src="$1">', $text);


pro kazdy vyraz musi byt novy radek
Kcko
Profil
	/* YouTube code */
		$pattern[]="/\[youtube=http:\/(\/www\.|\/[a-z]+\.|\/)youtube\.com\/watch\?v=([a-zA-Z0-9-_]+)(.*)\]/i";
		$replacement[]="<object width=\"380\" height=\"308\"><param name=\"movie\" value=\"http://www.youtube.com/v/\\2\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"http://www.youtube.com/v/\\2\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"380\" height=\"308\"></embed></object>";
		/* --YouTube code */
Kubsan
Profil *
No já to potřebuju uložit do dataáze no a nejde to mám to takhle
$obrazky1 = preg_replace("~\[img\](.+)\[\/img\]~U", '<img style=\"width: 450px; height: 350px;\" src=\"$1\">', $obrazky);
$obrazky2 = preg_replace("~\[youtube\](.+)\[\/youtube\]~U", ' <object width=\"425\" height=\"344\"><param name=\"movie\" value=\"$1\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"$1\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"425\" height=\"344\"></embed></object>', $obrazky1);

$obrazky mám původní text
a to co ukládám do DB je $obrazky2
a píše to tohle
Parse error: syntax error, unexpected T_VARIABLE in /home/httpd/helpet.info/hry/posli_hru.php on line 18
Řádek 18 je ten první co sem dal sem
Majkl578
Profil
Kubsan:
Tam sice chyby jsou, ale žádná, která by způsobila toto... Nechybí náhodou před tím řádkem středník?
Medvídek
Profil
Kubsan:
použij kód od Kcko.
<?php
/* YouTube kód */
        $pattern="/\[youtube=http:\/(\/www\.|\/[a-z]+\.|\/)youtube\.com\/watch\?v=([a-zA-Z0-9-_]+)(.*)\]/i";
        $replacement="<object width=\"380\" height=\"308\"><param name=\"movie\" value=\"http://www.youtube.com/v/\\2\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"http://www.youtube.com/v/\\2\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"380\" height=\"308\"></embed></object>";
        echo preg_replace($pattern, $replacement, "[youtube=http://www.youtube.com/watch?v=LRBnKZX2La8]");
/* --YouTube kód */
?>
Kubsan
Profil *
Tak chyběl tam středník, no obrázky se sice zobrazej, ale to youtube ne je tam jen prázdný bílý místo video se nenahraje. A to od Kcko něják nemůžu pochopit, je to dost složitý, to co používám já je celkem logický

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: