Autor | Zpráva | ||
---|---|---|---|
tomek Profil * |
#1 · Zasláno: 11. 1. 2011, 23:37:03
Potřeboval bych pomoci upravit funkci, tak aby měnila HTML zpět na BB tagy..
function bb2html($text) { $g = array( "/\[i\](.*?)\[\/i\]/is", "/\[b\](.*?)\[\/b\]/is", "/\[u\](.*?)\[\/u\]/is", "/\[img\](.*?)\[\/img\]/is", "/\[url=(http:\/\/){0,1}(.*?)\](.*?)\[\/url\]/is", "/\[li\](.*?)\[\/li\]/is", "/\[ul\](.*?)\[\/ul\]/is", "/\:\)/is", "/\:\[/is", "/\:P/is", "/\;\)/is", "/\:X/is", "/\:O/is", "/\:cry\:/is", "/\:jockingly\:/is", "/\:rule\:/is", ); $h = array( "<i>$1</i>", "<b>$1</b>", "<u>$1</u>", "<a href=\"$1\" target=\"_blank\"><img src=\"$1\" width=\"100px\" /></a>", "<a href=\"http://$2\" target=\"_blank\">$3</a>", "<li>$1</li>", "<ul>$1</ul>", "<img src=\"image/smile/9.gif\" alt=\"\"/>", "<img src=\"image/smile/8.gif\" alt=\"\"/>", "<img src=\"image/smile/6.gif\" alt=\"\"/>", "<img src=\"image/smile/7.gif\" alt=\"\"/>", "<img src=\"image/smile/4.gif\" alt=\"\"/>", "<img src=\"image/smile/2.gif\" alt=\"\"/>", "<img src=\"image/smile/5.gif\" alt=\"\"/>", "<img src=\"image/smile/1.gif\" alt=\"\"/>", "<img src=\"image/smile/3.gif\" alt=\"\"/>", ); $texto = preg_replace($g, $h, $text); return $texto; } |
||
Keeehi Profil |
#2 · Zasláno: 12. 1. 2011, 00:06:08
tomek:
Řekl bych, že to nebude potřeba. K čemu to potřebuješ? |
||
tomek Profil * |
#3 · Zasláno: 12. 1. 2011, 00:07:08
Keeehi:
k tomu, že v MySQL mám ukládány příspěvky už s html, ovšem jde mi o editaci příspěvků. |
||
Keeehi Profil |
#4 · Zasláno: 12. 1. 2011, 00:09:19
tomek:
Tak je ukládej s BBcode. Do html převáděj až při výpisu. Pro editaci je budeš mít v databázi v BBcode. |
||
tomek Profil * |
#5 · Zasláno: 12. 1. 2011, 00:09:57
to je pravda :)
|
||
tomek Profil * |
#6 · Zasláno: 12. 1. 2011, 00:15:53
Keeehi:
veliké díky tobě :) |
||
tomek Profil * |
#7 · Zasláno: 12. 1. 2011, 00:18:21
Keeehi:
ještě jedna věc. jak v textarea se značí odřádkování? potřeboval bych tohle nějak spacifikovat, když návštěvník odentruje, tak aby to tak také bylo i při výpisu |
||
Keeehi Profil |
#8 · Zasláno: 12. 1. 2011, 00:37:27
tomek:
můžeš použít nl2br(); (Nedělá to bbkód ale normální <br>) |
||
tomek Profil * |
#9 · Zasláno: 12. 1. 2011, 00:39:19
Keeehi:
a kdybych to potřeboval na BB kod, treba [br] |
||
Keeehi Profil |
#10 · Zasláno: 12. 1. 2011, 01:14:57 · Upravil/a: Keeehi
Tak uděláš něco takového:
$text = str_replace("<br>", "[br]", nl2br($textarea)); |
||
tomek Profil * |
#11 · Zasláno: 12. 1. 2011, 01:17:48
Keeehi:
a při editaci toho článku? převést [br] zase na to \n\r či jak to je? Jako aby v textarea to bylo zase na novém řádku |
||
tomek Profil * |
#12 · Zasláno: 12. 1. 2011, 01:20:26
Keeehi:
našel jsem toto function br2nl($string) { return preg_replace('/\[br(\s*)?\/?\]/i', "\n", $string); } ?> |
||
mattyZEM Profil |
#13 · Zasláno: 12. 1. 2011, 03:48:40 · Upravil/a: mattyZEM
Pokud to budete řešit tak, jak Vám radil Keeehi, tak při výpisu prostě zavolejte funkci na převod do BB a pak použijte funkci nl2br().
<?php echo nl2br(bb2html($string),0); ?> Co se týče opačného převodu, tak třeba obyčejné str_replace('[br]',"\n",$string); Každopádně ten replace je zbytečný, pokud ukládáte do MySQL BB podobu článku. |
||
Časová prodleva: 13 let
|
0