| | |
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Autor | Správa |
---|
Registrovaný: 16.08.07 Prihlásený: 03.10.12 Príspevky: 139 Témy: 25 Bydlisko: Bratislava |
Potrebujem vybrať všetko čo nieje v tagoch HTML. Skúsil som použiť nasledovný výraz, ale akosi mi nefunguje.
Kód: $text = "[b]bold1[/b] [html][b]bold2[/b][/html] [html][b]bold3[/b][/html] [b]bold4[/b] ";
$search = '|(.*?)\[html\](.*?)\[/html\](.*?)|is'; $replace = '$2';
echo preg_replace ($search, $replace, $text);
Očakávaný výstup: Kód: [b]bold2[/b][b]bold3[/b] Skutočný výstup: Kód: [b]bold2[/b][b]bold3[/b] [b]bold4[/b]
Mohli by ste mi, prosím poradiť čo robím zle? Ďakujem za prípadné odpovede.
Poznámka: nedajte sa zmiast, síce chcem vybrať všetko čo nieje v tagoch HTML a uvádzam príklad na to čo v tagoch HTML je, ale práve tu sa prejavuje neštandartné (alebo nechcené) chovanie.
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | Napísal juho: 18.10.2007 13:19 | |
|
nechapem tak chces vybrat to co je v tagoch ci chces vybrat to co nieje v tagoch. Radsej by si mohol napisat ze co chces z tadial zmazat.
pretoze ked chces vyberat tak pouzi preg_match_all();
inak v patterne ti chyba '\' pred[ /html]
a ked das $1 tak ti vybere Kód: [b]bold1[/b] [b]bold4[/b]
a ked mas taky retazec ktory obsahuje znaky odriadkovania ako v tvojom pripade, chr(10).chr(13) alebo \r\n tak tie znaky sa nepocitaju do takychto (.*).
_________________ getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória |
|
Registrovaný: 16.08.07 Prihlásený: 03.10.12 Príspevky: 139 Témy: 25 Bydlisko: Bratislava |
no, mozno som sa vyjadril trochu komplikovane.
Chcem vybrat vsetko co nieje v tagoch HTML a pouzit na to funkcie (htmlspecialchars + vlastna funkcia na dekodovanie BBC) a potom to vsetko spojit. S funkciou preg_match_all to myslim nieje mozne potom spojit (je dost mozne ze sa mylim, tu funkciu som prakticky nikdy nepouzil).
Teda priblizne takto:
Kód: $text = "[b]bold1[/b] [html][b]bold2[/b][/html] [html][b]bold3[/b][/html] [b]bold4[/b] ";
$search = '|(.*?)\[html\](.*?)\[\/html\](.*?)|ise'; $replace = 'decode_bbc(htmlspecialchars("$1"))."$2".decode_bbc(htmlspecialchars("$3"))';
echo preg_replace ($search, $replace, $text);
akurat ze toto nefunguje a neviem kde robim chybu
PS: inak to s tym odriadkovanim - je na to modifikator s a vdaka nemu . najde aj znak noveho riadku. Ale ajtak, ci som tento modifikator pouzil, ci nie, ci som ten retazec ($text) dal do jedneho riadu a co nie, vysledok sa nezmenil
|
|
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Regulárne výrazy - všetko okrem výrazu v PHP, ASP | 3 | 350 | 10.04.2012 21:44 1daemon1 | | Regulárne výrazy v Ostatné | 0 | 718 | 11.02.2006 14:59 JanoF | | regularne vyrazy v PHP, ASP | 3 | 385 | 30.01.2009 16:57 mybirthday1403 | | Regulárne výrazy v PHP, ASP | 3 | 525 | 06.12.2009 14:41 Ďuri | | Regularne vyrazy v PHP, ASP | 25 | 1655 | 14.03.2011 17:30 camo | | JAVA - regulárne výrazy v Assembler, C, C++, Pascal, Java | 0 | 768 | 26.03.2011 11:21 Shwollo | | Bash - regularne vyrazy v Operačné systémy Unix a Linux | 8 | 1043 | 16.11.2010 1:48 karco | | Regularne vyrazy v PHP v PHP, ASP | 1 | 441 | 21.10.2007 22:50 Codik | | Regulárne výrazy - negácia reťazca v PHP, ASP | 7 | 908 | 22.10.2007 20:39 juho | | Regularne vyrazy v Perl v Perl, Python, Ruby, CGI | 0 | 2474 | 21.10.2007 22:41 quark | | Regulárne výrazy porovnávané s array v PHP, ASP | 2 | 229 | 29.12.2012 15:33 Ando | | Všetko seká keď nieje vstup... v Intel - Integrated Electronics | 7 | 694 | 08.09.2017 2:45 thechosenone729 | | Regulérne výrazy v PHP, ASP | 8 | 1081 | 18.07.2009 16:30 Ďuri | | zase regularne vyrazi -pomoc v PHP, ASP | 1 | 465 | 01.10.2007 11:36 mokus | | Výrazy a priorita operátorov v Assembler, C, C++, Pascal, Java | 1 | 766 | 08.01.2009 17:17 neutronmind | | Príslušenstvo nieje podporované v Smartfóny a tablety | 5 | 472 | 23.06.2015 11:29 shiro |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|