Autor | Zpráva | ||
---|---|---|---|
laijk Profil |
#1 · Zasláno: 4. 9. 2012, 10:31:15
Zdravím, moje bb kody premieňam takto:
$allowed = array("b","u","i"); $allowed = implode("|",$allowed); $blog = preg_replace("~\[($allowed)\](.*?)\[/\\1\]~i","<$1>$2</$1>",$blog); -neviem ako mám pridať tag [url] - chcel by som to presne takto ako je to tu na fóre, že užívateľ bude môcť pridať odkaz na stránku, ale aj názov toho linku (url) |
||
Darker Profil |
#2 · Zasláno: 4. 9. 2012, 15:28:28
Aktuální systém vlastnosti elementů maže, protože nepředpokládám, že máš v plánu tvořit více elementů s vlastností udělal bych na to regulární výraz zvlášť.
$text = preg_replace("~\[url=((ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-%u200C%u200B\.\?\,'\/\\\ &%\$#_]*))\](.*?)\[/url\]~i","<a href=\"$1\">$9</a>",$text); |
||
laijk Profil |
#3 · Zasláno: 4. 9. 2012, 19:16:48
Darker:
ahoj, s tým mojím preg replace si mi tuším pomohol tiež ty, mne to nejako nejde :) tak ako to mám teraz spraviť aby som to mal jednoduché, aj s tými predošlími tagmi |
||
Darker Profil |
#4 · Zasláno: 4. 9. 2012, 19:26:50
laijk:
„tak ako to mám teraz spraviť aby som to mal jednoduché“ Jednodušší mě nenapadá. To co jsem ti poslal jsem na počítači otestoval a funguje to. Pokud si chceš nechat web hacknout stačí: $text = preg_replace("~\[url=([^\]]+)\](.*?)\[/url\]~i","<a href=\"$1\">$2</a>",$text); |
||
DarkMeni Profil |
Darker:
„Pokud si chceš nechat web hacknout stačí:“ Proč hacknout? $text = 'T[u]u[/u]čně... Testovací link... A normální písmo...'; $text = preg_replace('/\[(b|i|u)\](.*?)\[\/\\1\]/i', '<$1>$2</$1>', htmlspecialchars($text)); echo preg_replace('/\[url=(?!javascript:)(.*?)\](.*?)\[\/url\]/', '<a href="$1">$2</a>', $text); //Výstup: <b>Tučně...</b> <a href="http://testovaci_link..."onmouseover="alert('Baf!');"">Testovací l<i>i</i>nk...</a> A normální písmo... Edit: Tak fórum si to tu už upravuje, takže nemůžu ukázat příklad, ale bylo tam něco jako: [b*]T[i*]u[/i*]čně...[/b*] [url=http://testovaci_link..."onmouseover="alert(\'Baf!\');"*]Testovací l[i*]i[/i*]nk...[/url*] A normální písmo... Bez hvězdiček na konci bb značky |
||
Časová prodleva: 12 let
|
0