[ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Regulárne výrazy - problém - vybrať všetko čo nieje v

Registrovaný: 16.08.07
Prihlásený: 03.10.12
Príspevky: 139
Témy: 25 | 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.


Offline

Užívateľ
Užívateľ
Regulárne výrazy - problém - vybrať všetko čo nieje v

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6 | 6

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
Offline

Užívateľ
Užívateľ
Regulárne výrazy - problém - vybrať všetko čo nieje v

Registrovaný: 16.08.07
Prihlásený: 03.10.12
Príspevky: 139
Témy: 25 | 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


 [ Príspevkov: 3 ] 


Regulárne výrazy - problém - vybrať všetko čo nieje v



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Regulárne výrazy - všetko okrem výrazu

v PHP, ASP

3

193

10.04.2012 21:44

1daemon1

V tomto fóre nie sú ďalšie neprečítané témy.

Regularne vyrazy

v PHP, ASP

25

1428

14.03.2011 17:30

camo

V tomto fóre nie sú ďalšie neprečítané témy.

regularne vyrazy

v PHP, ASP

3

251

30.01.2009 16:57

mybirthday1403

V tomto fóre nie sú ďalšie neprečítané témy.

Regulárne výrazy

v PHP, ASP

3

328

06.12.2009 14:41

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

Regulárne výrazy

v Ostatné

0

555

11.02.2006 14:59

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Bash - regularne vyrazy

v Operačné systémy Unix a Linux

8

728

16.11.2010 1:48

karco

V tomto fóre nie sú ďalšie neprečítané témy.

JAVA - regulárne výrazy

v Assembler, C, C++, Pascal, Java

0

600

26.03.2011 11:21

Shwollo

V tomto fóre nie sú ďalšie neprečítané témy.

Regularne vyrazy v PHP

v PHP, ASP

1

275

21.10.2007 22:50

Codik

V tomto fóre nie sú ďalšie neprečítané témy.

Regulárne výrazy - negácia reťazca

v PHP, ASP

7

646

22.10.2007 20:39

juho

V tomto fóre nie sú ďalšie neprečítané témy.

Regularne vyrazy v Perl

v Perl, Python, Ruby, CGI

0

2265

21.10.2007 22:41

quark

V tomto fóre nie sú ďalšie neprečítané témy.

Regulárne výrazy porovnávané s array

v PHP, ASP

2

75

29.12.2012 15:33

Ando

V tomto fóre nie sú ďalšie neprečítané témy.

Všetko seká keď nieje vstup...

v Intel - Integrated Electronics

7

275

08.09.2017 2:45

thechosenone729

V tomto fóre nie sú ďalšie neprečítané témy.

Regulérne výrazy

v PHP, ASP

8

896

18.07.2009 16:30

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

zase regularne vyrazi -pomoc

v PHP, ASP

1

323

01.10.2007 11:36

mokus

V tomto fóre nie sú ďalšie neprečítané témy.

Výrazy a priorita operátorov

v Assembler, C, C++, Pascal, Java

1

581

08.01.2009 17:17

neutronmind

V tomto fóre nie sú ďalšie neprečítané témy.

Nieje to odrb?

v Krčma

16

632

16.12.2012 21:18

Mego



© 2005 - 2017 PCforum, edited by JanoF