Pagina 1 din 2 12 UltimulUltimul
Rezultate 1 la 10 din 11

Subiect: Regular expressions ...

Afișare hibrid

  1. #1
    Avatarul lui StarNET
    StarNET este deconectat Membru SeoPedia
    Reputatie:
    37
    Data înscrierii
    5th March 2009
    Locaţie
    Brasov
    Posturi
    1.429
    Putere Rep
    37


    Implicit Regular expressions ...

    Poate ma ajuta cineva ... sa zicem ca am textul ...

    erfjkekgjrew [f3q] frew ewrjtbe eqw [fgafdsa] fdsf werewqrfqew [ewrweq]we rwerewqr ewr [ewrweqrew]


    Am nevoie de un "regular expression" care sa imi returneze continutul dintre toate [] ...

    ma poate ajuta cineva cu un raspuns ?
    Vezi cum e vremea inainte sa iti faci planuri !
    Peste 4000 iconite in ORICE culoare, ORICE dimensiune si in 5 formate: iconsDB.com

  2. #2
    Avatarul lui Butcher
    Butcher este deconectat Membru SeoPedia
    Reputatie:
    35
    Data înscrierii
    15th June 2007
    Locaţie
    Constanta
    Vârstă
    44
    Posturi
    308
    Putere Rep
    35


    Implicit

    Cod PHP:
    <?
    $x
    ="Ana are [mere] in [panere] si pantofi in [picioare], da are [si carnati]!";

    preg_match_all("|.*(\[.*\]).*|U"$x$matches);

    print_r($matches);
    ?>
    output:

    Array ( [0] => Array ( [0] => Ana are [mere] [1] => in [panere] [2] => si pantofi in [picioare] [3] => , da are [si carnati] ) [1] => Array ( [0] => [mere] [1] => [panere] [2] => [picioare] [3] => [si carnati] ) )
    Tot ce iti trebuie e in $matches[1];

  3. #3
    Avatarul lui Alex Dumitru
    Alex Dumitru este deconectat Administrator
    Reputatie:
    64
    Data înscrierii
    20th April 2006
    Locaţie
    Pitesti / Bucuresti
    Vârstă
    37
    Posturi
    3.339
    Putere Rep
    64


    Implicit

    Nu stiu regex, dar varianta asta trebuie sa mearga,desi nu e cea mai buna solutie.

    Cod PHP:
    <?php
    $text 
    'erfjkekgjrew [f3q] frew ewrjtbe eqw [fgafdsa] fdsf werewqrfqew [ewrweq]we rwerewqr ewr [ewrweqrew]';
    $x explode('[',$text);
    foreach(
    $x as $y) {
    $z explode(']',$y);
    $k[] = $z[0];
    }
    foreach(
    $k as $ceva) echo $ceva.'<br>';
    ?>

  4. #4
    Avatarul lui Butcher
    Butcher este deconectat Membru SeoPedia
    Reputatie:
    35
    Data înscrierii
    15th June 2007
    Locaţie
    Constanta
    Vârstă
    44
    Posturi
    308
    Putere Rep
    35


    Implicit

    Sandossu e urat ce vad acolo. Cu expresii regulate e cel mai elegant, in special cu preg care e mult mai rapid ca ereg.

    Pentru chestii de genul asta au fost inventate expresiile regulate.

    Codul tau returneaza si "erfjkekgjrew" care nu ar fi trebuit sa apara.

    La codul meu:

    Cod PHP:
    foreach($matches[1] as $match)
    {
     print 
    $match."<br />";

    [mere]
    [panere]
    [picioare]
    [si carnati]

    Daca vrei fara [] expresia regulata tb sa fie de genul asta:

    Cod PHP:
    preg_match_all("|.*\[(.*)\].*|U"$x$matches); 
    Ultima modificare făcută de Butcher; 2nd June 2010 la 13:43.

  5. #5
    Avatarul lui Alex Dumitru
    Alex Dumitru este deconectat Administrator
    Reputatie:
    64
    Data înscrierii
    20th April 2006
    Locaţie
    Pitesti / Bucuresti
    Vârstă
    37
    Posturi
    3.339
    Putere Rep
    64


    Implicit

    Eu am incercat sa-i dau o solutie si daca vedeam ca ai postat inaintea ta, nu mai pierdeam timpul cu codul meu, pentru ca stiu care e diferenta dintre regex si codul meu, doar ca la regex nu ma pricep, din pacate.

    Citat Postat în original de Butcher Vezi Post
    Sandossu e urat ce vad acolo. Cu expresii regulate e cel mai elegant, in special cu preg care e mult mai rapid ca ereg.

    Pentru chestii de genul asta au fost inventate expresiile regulate.

    Codul tau returneaza si "erfjkekgjrew" care nu ar fi trebuit sa apara.

    La codul meu:

    Cod PHP:
    foreach($matches[1] as $match)
    {
     print 
    $match."<br />";

    [mere]
    [panere]
    [picioare]
    [si carnati]

    Daca vrei fara [] expresia regulata tb sa fie de genul asta:

    Cod PHP:
    preg_match_all("|.*\[(.*)\].*|U"$x$matches); 

  6. #6
    Avatarul lui StarNET
    StarNET este deconectat Membru SeoPedia
    Reputatie:
    37
    Data înscrierii
    5th March 2009
    Locaţie
    Brasov
    Posturi
    1.429
    Putere Rep
    37


    Implicit

    Mersi Butcher, exact de ce aveam nevoie .. m-ai scos din nebunii
    @Sandossu ... stiam si eu sa ma fofilez cu chestii de genul su sa ajung la rezultatul dorit dar stiam de preg_match si ma gandeam ca cineva de aici trebuie sa stie
    Ultima modificare făcută de StarNET; 2nd June 2010 la 14:05.
    Vezi cum e vremea inainte sa iti faci planuri !
    Peste 4000 iconite in ORICE culoare, ORICE dimensiune si in 5 formate: iconsDB.com

  7. #7
    Avatarul lui Buta Paul
    Buta Paul este deconectat Membru SeoPedia
    Reputatie:
    34
    Data înscrierii
    7th February 2008
    Locaţie
    Cluj Napoca
    Vârstă
    35
    Posturi
    371
    Putere Rep
    34


    Implicit

    Pentru a nu deschide un alt topic. Am si eu o problema in legatura cu preg_match.
    Cu ajutorul functiei copy() extrag continut de pe anumite site-uri, iar functia preg_match o folosesc pentru a extrage fisiere doar din locuri specificate. De exemplu doresc sa descarc doar fisiere introduse in embed src=" ". Am reusit sa fac cu embed src, insa unele site-uri in loc de acest cod folosesc de exemplu swfobject.embedSWF("fisier.swf" ...
    Problema mea, este ca nu pot sa delimitez functia preg_match in cazul in care am embed src sau swfobject. Codul care il folosesc acum este :

    preg_match( '~embed src="(.*?[^"])"~', $adresa, $swf);

    Daca m-ati putea ajuta, as fi recunoscator. Multumesc

  8. #8
    Avatarul lui Butcher
    Butcher este deconectat Membru SeoPedia
    Reputatie:
    35
    Data înscrierii
    15th June 2007
    Locaţie
    Constanta
    Vârstă
    44
    Posturi
    308
    Putere Rep
    35


    Implicit

    Cod PHP:
    preg_match_all('/[\"][^\"]+[.](swf)[\"]/Ui'$content$matchesPREG_SET_ORDER);
            
        foreach(
    $matches as $match)
        {
            
    $swfs[]=$match[0];
        }
        
        
    print_r(array_unique($swfs)); 
    Banuiesc ca vrei sa furi jocuri flash.
    Ultima modificare făcută de Butcher; 1st March 2011 la 16:01.

  9. #9
    Avatarul lui Buta Paul
    Buta Paul este deconectat Membru SeoPedia
    Reputatie:
    34
    Data înscrierii
    7th February 2008
    Locaţie
    Cluj Napoca
    Vârstă
    35
    Posturi
    371
    Putere Rep
    34


    Implicit

    Da. Ms, am sa incerc!

  10. #10
    Avatarul lui Gabriel Puscuta
    Gabriel Puscuta este deconectat Ambasador
    Reputatie:
    38
    Data înscrierii
    7th September 2006
    Locaţie
    Sibiu
    Posturi
    786
    Putere Rep
    38


    Implicit

    @FreeK: Nu trebuie sa furi. Vezi ca gasesti mii pe Mochi Media trebuie doar sa le importi...

Pagina 1 din 2 12 UltimulUltimul

Informații subiect

Utilizatori care navighează în acest subiect

Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)

Permisiuni postare

  • Nu puteţi posta subiecte noi.
  • Nu puteţi răspunde la subiecte
  • Nu puteţi adăuga ataşamente
  • Nu puteţi modifica posturile proprii
  •