Autor | Zpráva | ||
---|---|---|---|
liborse Profil |
#1 · Zasláno: 27. 9. 2008, 01:31:57 · Upravil/a: liborse
Zdravím, mám jeden menší problém. Předem podotýkám, že hledat umím, ale v tomto případě se na mě jaksi neusmálo štěstí. A nyní k mému problému. Jedná se o to, že potřebuji nahradit některé html tagy za bbcode (na důvod se mě neptejte ;), prostě to tak potřebuji. Přišel jsem na úžasnou funkci preg_replace, která mi funguje když nahrazuji
<i>něco</i> [i ]něco[/i ] <span style='font-style: italic;'>dsafd</span> function BBcode($text){ $a = array( "/\<i\>(.*?)\<\/i\>/is", "/\<span style=\'font-style: italic;\'>(.*?)\<\/span\>/is", ); $b = array( "[i ]$1[/i ]", "[i ]$1[/i ]", ); $text = preg_replace($a, $b, $text); return $text; } předpokládám, že tam dělám chybu u escapování, nevím, které znaky je třeba escapovat. prostě mi jde o to, abych třeba řetězec <span style='font-style: italic;'>dsafd</span> [b ]dsafd[/b ] |
||
BetaCam Profil |
#2 · Zasláno: 27. 9. 2008, 03:05:27 · Upravil/a: BetaCam
liborse
„že tam dělám chybu u escapování, nevím, které znaky je třeba escapovat.“ Ano máš. Znaky < a > nepatří mezi metaznaky proto se neescapují. „ Jinak z manuálové stránky nejsem zrovna moudrý.“ To se ti ani nedivím tam je totiž pouze popsáno používání funkce, ale né samotná syntaxe regulárních výrazů. „děkuji za nakopnutí, alespoň kde čerpat informace, nechci aby mi zde kdokoliv z vás psal kód, ale spíš vysvětlil co a jak.“ Hezký přístup. Doporučuju ti stránku www.regularnivyrazy.info/ myslím, že tam najdeš dostatek informací aby si mohl s regulárníma výrazama začít pracovat. |
||
Mike8748 Profil |
#3 · Zasláno: 27. 9. 2008, 12:29:40
aby clovek nemusel zkoumat jakej znak oescapovat a jakej ne, tak tady mame peknou funkci preg_quote
http://cz2.php.net/preg_quote |
||
liborse Profil |
#4 · Zasláno: 27. 9. 2008, 12:59:29
No, možná se vám to nebude líbit, ale já to obešel ;). Regulární výrazy mi asi nikdy nepřirostou k srdci, takže jsem to udělal tak, že třeba
<span style='font-style: italic;'> nahradím za <spanitalic> a potom už není problém to použít. Díky za rady, už ty odkazy mám v záložkách, v budoucnu to určitě projedu! |
||
Časová prodleva: 16 let
|
0