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

Regulární výraz(jednoduchý) – PHP – Fórum – Programujte.comRegulární výraz(jednoduchý) – PHP – Fórum – Programujte.com

 

CZechBoY+4
Věrný člen
2. 12. 2010   #1
-
0
-

Zdravim,
může mi někdo napsat regulární výraz?
Formát je:


a href="my?id=(cislo)CHCI ZJISTIT">CHCI ZJISTIT</a><br>


šlo by to prosím nějak jednoduše?
Ještě bych se rád zeptal odkud se dají tyto regulární výrazy naučit, hledal jsem jen na pár stránkách
Díky

Nahlásit jako SPAM
IP: 213.192.10.–
Spectator0
Věrný člen
2. 12. 2010   #2
-
0
-

To CZechBoY :
z týhle webky se to podle mě docela dá:

http://interval.cz/clanky/regularni-vyrazy-v-php-pro-zacatecniky-i/

zkoušením se dobereš výsledku a ještě se spoustu přiučíš.

Nahlásit jako SPAM
IP: 81.19.47.–
. . .
CZechBoY+4
Věrný člen
12. 12. 2010   #3
-
0
-

tak jsem googlil jak šílenec a nakonec jsem něco našel:
$reg='<a href="my\?id=(.*)">(.*)Jabko(.*)<\/a><br>';
pak to preg_match_all všechno vemu a funguje jak má(skoro)
akorát bych potřeboval, aby to napsalo celej název rádia (jen těch kde je výskyt jabko/Jabko [NC]), to by někdo neuměl?

Nahlásit jako SPAM
IP: 213.192.10.–
insider0
Věrný člen
12. 12. 2010   #4
-
0
-

nezkousel jsem

"/a href=\"my\?id=([0-9]+)([^\"]+)\"\>([^\<]+)\</"

nejsem si jisty, co vse se musi escapovat

Nahlásit jako SPAM
IP: 147.32.96.–
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
CZechBoY+4
Věrný člen
14. 12. 2010   #5
-
0
-

potřebuju aby v tom reguláru to vypsalo jen výsledky kde je mezi těma tagama <a> řetězec Jabko, malý, velký písmena to je jedno

Nahlásit jako SPAM
IP: 213.192.10.–
insider0
Věrný člen
14. 12. 2010   #6
-
0
-

"/a href=\"my\?id=([0-9]+)([^\"]+)\"\>([^\<]+jabko[^\<]+)\</i"

Nahlásit jako SPAM
IP: 147.32.96.–
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
CZechBoY+4
Věrný člen
15. 12. 2010   #7
-
0
-

no připadá mi to nějaký složitý, já potřebuju jen zjistit ID a jméno rádia, ty tam máš těch závorek nějak moc ne?
<a href="my?id=ZJISTIT">ZJISTIT(musí obsahovat jabko)</a>

Nahlásit jako SPAM
IP: 213.192.10.–
Mafiosoweb0
Návštěvník
15. 12. 2010   #8
-
0
-

teda regulary moc neovladam,ale za tu dobu co cekas na odpoved bych to vyresil asi takto :-D



$link='<a href="my?id=ZJISTIT">ZJISTIT(musí obsahovat jabko)</a>';
$tmp=explode("id=",$link);
$tmp=explode("\">",$tmp[1]);
$id=$tmp[0];
$tmp=explode("</a>",$tmp[1]);
$pos=strpos($tmp[0],"jabko");
if($pos){
$text=str_replace('jabko','',$tmp[0]);
}
echo 'ID:'.$id;
echo '<br>';
echo 'TEXT:'.$text;
Vysledek:
ID:ZJISTIT
TEXT:ZJISTIT(musí obsahovat )

Nahlásit jako SPAM
IP: 93.99.187.–
Jak jsem řekl, tak jest.
CZechBoY+4
Věrný člen
16. 12. 2010   #9
-
0
-

ok tak já to napíšu jinak, hodim sem jakej formát má celý text...

<a href="my?id=123">nečum</a><a href="my?id=1456">rádio lama</a><a href="my?id=789">noob</a><a href="my?id=357">Rádio Jabko</a><a href="my?id=159">Rádio špekoun</a><a href="my?id=954">nevysíláme</a><a href="my?id=354">Rádio Jabko</a>

Nahlásit jako SPAM
IP: 213.192.10.–
insider0
Věrný člen
16. 12. 2010   #10
-
0
-

neni nad vypovidajici priklad :)

"/a href=\"my\?id=([0-9]+)\"\>([^\<]+jabko[^\<]+)\</i"

by mel zvladnout, co potrebujes - prvni zaroka je cislo u id, druha zavorka je cokoli+jabko+cokoli a i za lomitkem je case insensitive v pripade, ze pouzivat preg_match(_all)/replace

Nahlásit jako SPAM
IP: 147.32.96.–
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
CZechBoY+4
Věrný člen
17. 12. 2010   #11
-
0
-

takže to co si mi poslal vypíše i název rádia?

Nahlásit jako SPAM
IP: 213.192.10.–
insider0
Věrný člen
17. 12. 2010   #12
-
0
-

kdyz pouzijes preg_match_all($reg,$text,$matches); a pak var_dump($matches) tak uvidis, k cemu vsemu mas pristup (nazev radia je druha zavorka)

Nahlásit jako SPAM
IP: 147.32.96.–
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
CZechBoY+4
Věrný člen
18. 12. 2010   #13
-
0
-

jo funguje to pěkně
takže když potřebuju aby mi to vyplivlo celej řetězec včetně hledanýho tak dám ([^\<]+retezec[^\<]+) ? co to vůbec znamená?

Nahlásit jako SPAM
IP: 213.192.10.–
insider0
Věrný člen
18. 12. 2010   #14
-
0
-

do [] se zapisuje vycet znaku, ktere se mohou objevit. v pripade, ze zacina striskou, tak je to vycet znaku, ktere se nesmi objevit. + je opakovani - tady jeden az nekonecne krat(ted me tak napada, ze misto tech + bys tam mel mit *, coz je opakovani 0 az nekonecne. () uzaviraji bloky, se kterymi jde nasledne pracovat.

Nahlásit jako SPAM
IP: 147.32.96.–
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
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, 55 hostů

Podobná vlákna

Regulární výraz — založil Johny

Regulární výraz. — založil Paja2

Regulární výraz v c# — založil attila

Regulární výraz — založil Anonymní uživatel

 

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