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
 
 » Wedrowiec 20:38
 » rainy 20:35
 » Master/Pe 20:34
 » @GUTEK@ 20:34
 » cVas 20:28
 » selves 20:26
 » Paweł27 20:23
 » Sociu 20:19
 » GLI 20:16
 » Hitman 20:16
 » jenot 20:16
 » rooter666 20:12
 » Sherif 20:09
 » DJopek 20:07
 » Dhoine 20:05
 » rad 20:04
 » metacom 20:04
 » MARtiuS 20:00
 » Pawelec 20:00
 » NimnuL 20:00

 Dzisiaj przeczytano
 41145 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
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-2024, TwojePC.PL