Ostatní témata (Off Topic témata) : phpRS Fórum
Máte problém s konfigurací počítače? Hledáte nejlepší webhosting pro vaši aplikaci? Nevíte si rady s nějakým zajímavým programátorským oříškem? Týká se dotaz fóra? ... Pokud ano, tak je toto diskuzní fórum určeno právě vám.
phpRS - redakční a informační systém
Odstránenie citácie pomocou regulárneho výrazu
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2006-09-06, 11:49

mám text "[q_uote]blabla[/q_uote]odpoved" z ktorého chcem odstrániť citáciu [q_uote]blabla[/q_uote] aj so značkami, tak aby mi zostal len text "odpoved". Skúšam to pomocou eregi_replace, no nefunguje mi to, kde robím chybu?
$data['obsah'] = eregi_replace('\[q_uote\]*\[\/q_uote\]','',$data['obsah']);




Celkem upraveno 3×. Poslední úprava pa3k v 06.09.2006 11:50.

Re: Odstránenie citácie pomocou regulárneho výrazu
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2006-09-06, 11:51

quote som musel nahradiť za q_uote, pretože toto fórum to automaticky spracuje

Re: Odstránenie citácie pomocou regulárneho výrazu
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2006-09-06, 12:00

Takže poradil mi Michalek, takto to funguje:
$data['obsah'] = eregi_replace('\[q_uote\](.)*\[\/q_uote\]','',$data['obsah']);

Nerozumiem ale prečo. Predsa bodka zastupuje ľubovolný jeden znam, pritom hviezdička by mala byť to isté, s tým rozdielom, že povolí aj prázdnu hodnotu. AK niekto viete prečo ten prvý príklad nefungoval, budem vďačný za vysvetlenie.

Re: Odstránenie citácie pomocou regulárneho výrazu
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2006-09-06, 12:12

Tak už to konečne chápem. Hviezdička je tzv. kvantifikátor.
Kvantifikátory - Předcházející znak se musí vyskytovat minimálně 0x, maximálně neomezeně krát.
[http://www.regularnivyrazy.info/shrnuti-syntaxe.html]

Re: Odstránenie citácie pomocou regulárneho výrazu
Zaslán uživatelem/kou: JanVar (IP adresa zaznamenána)
Datum: 2006-09-06, 12:17

a ta tecka v zavorkach definuje prave jeden znak a muze jich byt libovolny pocet prave diky te hvezdicce... :-)

-- JaV ---- [http://www.hades.cz] ---- security by obscurity ---------------------------------------------
motto:
It's OK to be ignorant; it's not OK to play stupid.
But it's simply not efficient for us to try to help people who are not willing to help themselves.
----------------------------------------------------------------------------------------------------------------------

Re: Odstránenie citácie pomocou regulárneho výrazu
Zaslán uživatelem/kou: Kubajs (IP adresa zaznamenána)
Datum: 2006-09-06, 13:05

Když jsem tyhle výrazy viděl poprvé, přejel mi mráz po zádech. A ne že bych na tom byl i po detailním studiu líp :)

Re: Odstránenie citácie pomocou regulárneho výrazu
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2006-09-06, 13:28

Kubajs: áno presne, regulárne výrazy proste náááádherne sprehľadňujú kód :) a sú ozdobou každého zdrojáku, hlavne ak tam sú bez komentárov :-D Mimochodom, toto som použil pre výpis posledných príspevkov na fóre z tvojej dielne, kde v bloku zobrazujem len prvých pár slov z komentára. Citácie tam teda vadia, pretože textu o ktorý najviac ide predchádza kopec "balastu". Zdá sa, že toto riešenie funguje aj na zanorenie citácií, berie to asi posledný výskyt ukončovacej značky.

Re: Odstránenie citácie pomocou regulárneho výrazu
Zaslán uživatelem/kou: Kubajs (IP adresa zaznamenána)
Datum: 2006-09-06, 14:08

Tos měl říct :) já to upravoval asi před 14 dny, když se mi v bloku posledních příspěvků ukázal obrázek ... to mě fakt dostalo :D

quote jsem celé nevyhazoval, ale jen nahradil to [q u o t e] prazdným řetězcem. Čert ví co by bylo lepší, to ukáže čas.

[http://www.saton.cz/rs280]

Re: Odstránenie citácie pomocou regulárneho výrazu
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2006-09-06, 14:17

Ja dávam na string ťahaný z databázy najprv strip_tags, potom odstránim citácie a nakoniec ho zkrátim, formátovanie v bloku nechcem. :)



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.