Autor Zpráva
Halluz-man
Profil *
Nasel sem jeden dobrej guestbook ( http://www.blog.janzak.cz/index.php?text=1-phpguestbook ) a chtel bych aby kdyz odeslu vzkaz s nejakym " tak se pred nej hodi lomitko \. Ja Php skoro vubec neumim tak prosim vas, kdyby ste se na to mrkli..

A este neco, jak udelat aby se ze slov zacinajici na http:// udelaly automaticky odkazy? Diki
BetaCam
Profil
Halluz-man

a chtel bych aby kdyz odeslu vzkaz s nejakym " tak se pred nej hodi lomitko \.

addslashes()

A este neco, jak udelat aby se ze slov zacinajici na http:// udelaly automaticky odkazy? Diki

preg_replace();
DJ Miky
Profil
Já to pochopil opačně, takže bych radil stripslashes()…

S těmi odkazy:
http://www.regularnivyrazy.info/php-pcre-perl-compatible.html
http://www.regularnivyrazy.info/prevedeni-url-na-odkaz.html
BetaCam
Profil
DJ Miky
Já to pochopil opačně, takže bych radil stripslashes()
No ona je ta věta dost blbě napsaná. Je otázka jestli ten konec je v oznamovacím nebo podmiňovacím způsobu. Chtšlo by to celou tu větu přeformulovat. :)

Tak jako tak pro přidání addslashes() pro odstranění jak si radil ty stripslashes() Halluz-man si jistě vybere to co potřeboval, ale prostě ta jeho věta je napsaná nelogicky. :)
Halluz-man
Profil *
No tre kdyz napisu <img src="obr.gif" /> tak se vypise <img src=\"obr.gif\" /> a to ja pravev nechci.
A mohli byste mi to prosim napsat nejak polopate, protoze ja php fakt moc neumim :)
BetaCam
Profil
Halluz-man
No tre kdyz napisu <img src="obr.gif" /> tak se vypise <img src=\"obr.gif\" /> a to ja pravev nechci.

příklad na stripslashes():

$text = '<img src=\"obr.gif\" />';
$text = stripslashes($text);
echo $text;


příklad na preg_replace();
$text = 'asdj hakjsh dakjshd shd kajshd kahs  http://example.com kfashdfk ajshdfkj hsdk jhfksajhd kjshd';
$text = preg_replace('/((http:\/\/)|(www\.))([^ ]+[^,. ])/', '<a href="http://$3$4">$2$3$4</a>', $text);
echo $text;


Jak to zasadíš přímo do toho scriptu to už je na tobě. :)
kletely
Profil
Halluz-man

skus to to

$zprava = preg_replace_callback('~((https?|ftp)://\S{4,40})\S*~',

create_function(

'$match',
'$possiblyLastEntity = strrpos($match[1], "&");
$match[1] = $possiblyLastEntity === false ? $match[1] : substr($match[1], 0, $possiblyLastEntity);
return " <a href=\"$match[0]\" rel=\"nofollow\">$match[1]" . ($match[0] != $match[1] ? "..." : "") . "</a>";'

),

$zprava);
Halluz-man
Profil *
BetaCam, kletely kdyz udelam jedno t toho tak mi to vzdycky vyhodi tohle: <a href="http://centrum.cz">http://centrum.cz</a>">http://centrum.cz">htt p://centrum.cz</a></a> :(
BetaCam
Profil
Halluz-man

Pokud proženes string 'http://centrum.cz' přes můj zápis vyleze ti :

<a href="http://centrum.cz">http://centrum.cz</a>


Pokud to proženes přes funkci co napsal kletely vylezeti :

<a href="http://centrum.cz" rel="nofollow">http://centrum.cz</a>
Halluz-man
Profil *
To vim taky ze by melo, ale proste me se to takhle zblbne :(
BetaCam
Profil
Halluz-man

Verze PHP??
Jakej string přesně do funkce posíláš??
Halluz-man
Profil *
Uz to vse funguje, psal sem to do spatneho souboru :D
A jeste, jak udelat aby u obrazku (src="http://...") se nedelal odkaz?? :)
BetaCam
Profil
Halluz-man

Třeba :

$text = 'asdj hakjsh dakjshd shd src="http://example.com" kajshd kahs  http://example.com kfashdfk ajshdfkj hsdk jhfksajhd kjshd';
$text = preg_replace('/((?<!src=\")(http:\/\/)|(www\.))([^ ]+[^,. ])/', '<a href="http://$3$4">$2$3$4</a>', $text);
echo $text;

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: