Pokaż wyniki 1 do 5 z 5

Temat: regexy ciag dalszy

  1. #1
    Avatar gogulas
    gogulas jest offline killboy powerhead
    Zarejestrowany
    Sep 2007
    Skąd
    Tu
    Postów
    1,236

    Domyślnie regexy ciag dalszy

    Powiedzmy ze mam posrodku tekstu napis 'gogulas', chcialbym wziac 30 znakow przed i 30 znakow po tym napisie, jak to uczynic?

    mam tylko cos takiego

    #([*]{30})gogulas([*]{30})#

    niestety nie hasa.
    http://gogulas.yoyo.pl/h.gif

  2. #2
    Zarejestrowany
    Jan 2007
    Skąd
    somewhere in time
    Postów
    510

    Domyślnie

    Kod php:
    <?php
    $string
    ="abcdefghijklmnouprstuwxyzironekabcdefghijklmnouprstuwxyz";
    preg_match_all("#(.{10})ironek(.{10})#",$string,$a);
    print_r($a);
    ?>
    dlaczego to Twoje nie działa?[*] to oznacza zbiór znaków a w tym zbiorze zawiera sie tylko jeden znak * bo
    Wewnątrz nawiasów kwadratowych należy cytować znaki -, backslash \, znak ^ (o ile występuje jako pierwszy) oraz nawias zamykający ]. Pozostałych znaków mających specjalne znaczenie w wyrażeniach regularnych, czyli np. +, *, (, ), {, }, ^ czy $ nie cytuj wewnątrz nawiasów kwadratowych.
    pozdrawiam
    Ostatnio edytowane przez ironwall : 05-29-2008 - 22:50

  3. #3
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    w perlu

    Kod:
    $string =~ /(.{30})gogulas(.{30})/;
    print "Przed $1, po $2";
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  4. #4
    Avatar gogulas
    gogulas jest offline killboy powerhead
    Zarejestrowany
    Sep 2007
    Skąd
    Tu
    Postów
    1,236

    Domyślnie

    Mi sie troche nie podoba jak preg_match zwraca wyniki, straszny smietnik, powinny byc na to flagi, samo wrzucenie tego co chemy w kolejny nawias nie zalatwia do konca sprawy.

    Zapomnialem podziekowac za pomoc.
    Tak wiec dziekuje
    Ostatnio edytowane przez gogulas : 05-29-2008 - 23:52
    http://gogulas.yoyo.pl/h.gif

  5. #5
    Zarejestrowany
    Jan 2007
    Skąd
    somewhere in time
    Postów
    510

    Domyślnie

    do tego jest tzw przechwytywanie nazwane , w tym celu stosuje się ?P<nazwa>
    naprzyklad
    Kod php:
    <?php
    $string
    ="abcdefghijklmnouprstuwxyzironekabcdefghijklmnouprstuwxyz";
    preg_match("#(?P<ciag1>.{10})ironek(?P<ciag2>.{10})#",$string,$a);
    echo 
    $a['ciag1'];
    echo 
    "</br></br>".$a['ciag2'];
    ?>

Podobne wątki

  1. Problem... [w sumie 'hackowanie czyjegos GG' - ciag dalszy --tqm]
    By Zaq_08 in forum Newbie - dla początkujących!
    Odpowiedzi: 11
    Autor: 05-11-2007, 21:24

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj