Preg-replace apostrofy – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Preg-replace apostrofy – PHP – Fórum – Programujte.comPreg-replace apostrofy – PHP – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
tribalcz0
Super člen
24. 7. 2013   #1
-
0
-

ahoj mam problem u formulare zajistuji nefunkcnost html tagu a pomoci preg_replace prevadim ty povolene takto  


      
        $string = preg_replace("#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $text_u);

v tomto pripade vse funguje jak ma bez ohledu na to jestli se to tyka tucneho preskrtnuteho paragrafu nebo headingu a cehokoliv jineho problem nastava v pripade ze chci pouzit treba toto [span class="red"]ahoj[/span] do vypisu se mi pak vypise to same preg replace mi to neprevede protoze pouzivam apostrofy a nevim jak na to mohl by mi nekdo poradit????

Nahlásit jako SPAM
IP: 178.209.131.–
tribalcz0
Super člen
24. 7. 2013   #2
-
0
-

dobre problem s apostrofi sem vyresil pomoci ENT_NOQUOTES ale pro zmenu mi to nedeokaze zpracovat tu tridu ale to uz jde lehce poresit pomoci preg_replace

Nahlásit jako SPAM
IP: 178.209.131.–
Řešení
peter
~ Anonymní uživatel
4014 příspěvků
24. 7. 2013   #3
-
+2
-
Zajímavé
Vyřešeno Nejlepší odpověď

To nema s apostrofy nic spolecneho, mas chybne reg vyraz. Text classu neprenasis do vystupu.
#\[b\](.+?)\[/b\]# .... "<b>\\1</b>"
#\[b(.*?)\](.+?)\[/b\]# .... "<b\\1>\\2</b>"
A mozna by to melo byt
((?:b|span)([\s]?.*?)\[
Ted si ale nejsem jisty, jestli se pise ?: v php taky. Nebo jestli se to nepise jinak. Viz dokumentace a regexp.cz
 . melo by se jednat o zavorku, kterou nebude pocitat, ignorovat pro \\1 \\2
Melo by to fungovat tak, ze bere B nebo SPAN a za tim muze, ale nemusi byt mezera (\s je tez \t a jeste jine znaky) a za mezerou jakykoliv znak (.) v jakemkoliv poctu (*), ktery konci tou hranatou zavorkou (\[). Za b prave tu podminku na prazdny znak musis dat, protoze pri I nebo IMG by z toho udelal <I></I> nebo <I mg></I>

Nahlásit jako SPAM
IP: 193.84.207.–
tribalcz0
Super člen
24. 7. 2013   #4
-
0
-

#3 peter
tak o díky funguje to  


        $string = preg_replace("#\[span\](.+?)\[/span\]#is", "<span>\\1</span>", $string);
        $string = preg_replace("#\[span(.*?)\](.+?)\[/span\]#is", "<span\\1>\\2</span>", $string);
Nahlásit jako SPAM
IP: 178.209.131.–
peter
~ Anonymní uživatel
4014 příspěvků
24. 7. 2013   #5
-
0
-

span(.*?)
Hm, no, sem se ti snazil rici, ze tohle odpovida span, ale i spancokoliv. cili treba priklad b, bold, big nebo th thead (th+ead)

(.*?)\]
[span title='neco [5] neco']
[span]  neco [5] neco [/span]
To by mohl byt taky problem, kdybys dovnitr pouzil hranatou zavorku.
 

Nahlásit jako SPAM
IP: 193.84.207.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

Podobná vlákna

Js replace — založil netman92

C++, PCRE a replace — založil Heart Breaker

C++ string replace — založil Maxiterit

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý