Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » pwil2 03:09
 » luckyluc 01:49
 » Visar 01:26
 » Marek1981 01:07
 » piszczyk 00:38
 » abes99 00:19
 » Curro 00:18
 » Wolf 00:16
 » kosty 00:09
 » stefan_nu 23:57
 » rainy 23:56
 » Wedrowiec 23:55
 » metacom 23:54
 » Fl@sh 23:53
 » XepeR 23:39
 » patinka 23:37
 » MARC 23:28
 » Holyboy 23:25
 » Sebek 23:22
 » Kool@ 23:17

 Dzisiaj przeczytano
 4384 postów,
 wczoraj 35728

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2025
A R C H I W A L N A   W I A D O M O Ś Ć
    

[PHP-Wyrazenia regularne] Wyciagniecie poczatku tekstu. , KwiateK 3/02/05 19:16
Witam
Na wyrazeniach regularnych nie znam sie za bardzo wiec pytam

mam sobie string:
$string="jakiestamliterkiliterkiliterkiliterki XYZ innytexttexttexttext";

chce utworzyc string (nazwijmy go $x), ktorego wartoscia bedzie poczatek zmiennej $string (powiedzmy do momentu " XYZ") czyli:
$x="jakiestamliterkiliterkiliterkiliterki";

Jak wyciagnac ten poczatek przy uzyciu wyrazen regularnych?

PS. Mozecie polecic jakis dobry kurs/ksiazke/cokolwiek na temat wyrazen regularnych? ;)

Pozdr

Nie jestem facetem na jedną noc.
Aż tyle czasu to ja nie mam...

  1. prosze , Grocal 3/02/05 19:25
    $tekst = 'aabbccXYZaabbccddee';
    if (ereg("^(.+)XYZ(.+)", $tekst, $regs))
    {
    $poczatek = $regs[1];
    $koniec = $regs[2];
    }

    http://www.google.pl/...l&btnG=Szukaj+z+Google

    Powodzenia!

    Na pewno, na razie, w ogóle...
    Naprawdę, naprzeciwko, stąd...
    Ortografia nie gryzie!

  2. a moze lepiej tak... , Kama 3/02/05 19:44
    <?
    $tekst = 'aabbccXYZaabbccddee';
    if (preg_match("/^(.+)XYZ(.+)/", $tekst, $regs))
    {
    $poczatek = $regs[1];
    $koniec = $regs[2];
    }

    var_dump($poczatek);
    var_dump($koniec);

    // lub jak chces zignorowac wielkosc liter stronga dzielacego to preg_match("/^(.+)XYZ(.+)/i"....

    ?>

    preg_match jest wydajniejszy

    --- Mądry Polak po errorze ---

  3. Ach... ci młodzi programiści PHP... , pachura 3/02/05 20:18
    ...do wszystkiego by wyrażeń regularnych używali. A te są dość obciążające dla serwera... oczywiście jeśli odpalamy sobie lokalnie i naraz ze strony WWW korzysta tylko jedna osoba (my), to nie ma problemu. Gorzej, gdy wrzuci się takie coś na portal...

    Także lepiej poszukać XYZ zwykłym str_pos(), sprawdzić czy nie zwrócił FALSE (!==), i wyciąć początek przez substr(). Voila.



    RTFM!
    http://pl.php.net/...al/pl/pcre.pattern.syntax.php

    1. i to w tym przypadku jest b. eleganckie , Grocal 3/02/05 21:08
      ... co nie umniejsza faktu, ze pytanie bylo o wyrazenia regularne...

      Na pewno, na razie, w ogóle...
      Naprawdę, naprzeciwko, stąd...
      Ortografia nie gryzie!

    2. nooo... , xmac 3/02/05 21:13
      w koncu ktos cos dobrego napisal :_)
      wyrazenia regularne moze sa dobre w javie, ale na pewno nie w php, gdzie przy wiekszym obciazeniu serwera potrafia skutecznie go zarznac :_(
      a jak juz koniecznie trzeba, to pomoc mozna znalezc tu http://weblogtoolscollection.com/regex/regex.php

      dual&mobile power
      XMAC

      1. No nie zgodzę się do końca... , pachura 3/02/05 21:43
        Duże obciążenie wynika z faktu że samo wyszukiwanie wyrażeń regularnych jest skomplikowanym procesem, a nie z tego że akurat w PHP je źle zaimplementowano. Zresztą PHP i tak korzysta z zewnętrznego "silnika" regexpów.

        Wyrażenia regularne są jak najbardziej dla ludzi, ale a.) nie należy z nich korzystać jeśli rzeczywiście nie trzeba; b.) nie należy pisać nieoptymalnych wyrażeń... np. /.*DUPA.*/ to dla regexpów zabójstwo (tak jak np. LIKE '%DUPA%' dla bazy danych), natomiast takie np. /[Dd]upa[^a-z]/ powinno się wykonywać całkiem znośnie.

        1. mi parsowanie dsn... , xmac 3/02/05 22:05
          ...powodowalo baaardzo duze obciazenie serwera, a zastosowanie zwyklego wyszukiwania i ciecia stringa nie dosc, ze jest zdecydowanie bardziej przejrzyste, to zajmuje duuuzo mniej czasu i nie obciaza procesora prawie wcale
          musze sie przerzucic z php na jsp lub asp.net, bo na nich mozna zdecydowanie lepiej zarobic, no i wydajnosciowo wypadaja duzo lepiej

          dual&mobile power
          XMAC

  4. OK. dzieki wszystkim za odpowiedzi , KwiateK 5/02/05 03:17
    zdecydowalem sie uzyc metody pachury.
    i wiecie co? nawet dziala ;)
    dzieki wszystkim. pozdr.

    Nie jestem facetem na jedną noc.
    Aż tyle czasu to ja nie mam...

    
All rights reserved ® Copyright and Design 2001-2025, TwojePC.PL