Regulární výrazy a tagy – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Regulární výrazy a tagy – PHP – Fórum – Programujte.comRegulární výrazy a tagy – PHP – Fórum – Programujte.com

 

ench0
Stálý člen
8. 10. 2007   #1
-
0
-

Zdravím,
mám opět trable s regulárnímí výrazy.
Dejme tomu že mám v db uložené něco jako:



<div class="styl">
nějaký dlouhý text1
</div>
<div class="styl2">
nějaký další dlouhý text2
</div>

a já z toho chci získat pouze to "nějaký dlouhý text1" - a to bez divu...
zkoušel jsem regulár:


preg_match('/\<div class="styl"\>(.*?)\<\/div>/', $text, $matches, PREG_OFFSET_CAPTURE);

ale ten mi fungoval jen tehdy, když jsem to html neměl formátované - to jako vše na jednom řádku - ale když mám to html pěkně přehledně na vícero řádcích tak nic...
Zkoušel jsem i přidat \n do toho reguláru (že by to rozpoznalo ty řádky) ale ono nic... :-( kdo mi pls poradí ?

Nahlásit jako SPAM
IP: ...–
I programování je pudová záležitost. Buď to pude, nebo to nepude
pin2k0
Stálý člen
8. 10. 2007   #2
-
0
-

Jenom se zeptám. Proč máš v DB uložený tagy?

Nahlásit jako SPAM
IP: ...–
Něco tak nepatrného, jako je mávnutí motýlích křídel, může způsobit uragán, který zasáhne celý svět. -- teorie chaosu --
insider0
Věrný člen
8. 10. 2007   #3
-
0
-

nevim, jeslti je to ta chyba, nemam to ted kde odzkouset, ale nemel by ten otaznik byt az za zavorkou?
To pin2k: no a proc ne, treba ma v administraci wysiwyg editor a co vytvori, to ulozi do db ...

Nahlásit jako SPAM
IP: ...–
I don't want to see you go,[br] The sky is over[br] Even though we can't afford[br] The sky is over,[br] The sky is over us.[br][br] CIVILIZATION IS OVER
ench0
Stálý člen
8. 10. 2007   #4
-
0
-

nevím, možný to je ...
Zatím jsem to vyřešil tak, pomocí funkce



function text_preloz($text){
$trans = array(
"\n" => " "
);
$text = strtr($text, $trans);
return $text;
}

ale přijde mi to takové obejítí problému, chtěl bych vychytat ten regulární výraz...

Nahlásit jako SPAM
IP: ...–
I programování je pudová záležitost. Buď to pude, nebo to nepude
toka0
Stálý člen
9. 10. 2007   #5
-
0
-

Dalo by se to resit treba takto:



$result = eregi_replace("<div[^<]*>([^<]*)<[^>]*>", "\\1", $input);

Nahlásit jako SPAM
IP: ...–
Tomáš Kavalek
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, 12 hostů

Podobná vlákna

Regulární výrazy — založil polonium

Regulární výrazy — založil Sony

Regulární výrazy — založil Petr

Regulární výrazy — založil Petr

 

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