Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wycąganie czegoś z pewnej treści
Forum PHP.pl > Forum > Przedszkole
Gość_kamil
witam mam taki text.


Kod
Wrocław 2004, wydanie I, 86 str.,
oprawa miękka.

Cena rynkowa: 23.00,
Cena sprzedaży: 21.80.


Autorzy niniejszej książki nie dostarczają wiarygodnej i szerokiej analizy kondycji, w jakiej współcześnie znajduje się wiedza


j ja chce

1) usunąć to

Cena rynkowa: 23.00,
Cena sprzedaży: 21.80.

przy czym ceny mogę byc różne rega trzeba pewnie urzyc ale nie wiem jak ...

2) Do zmiennej przypisać cene rynkową i sprzedaży
Apo
poczytaj o str_replace" title="Zobacz w manualu php" target="_manual np:

  1. <?php
  2. $txt = 'Wrocław 2004, wydanie I, 86 str., 
  3. oprawa miękka.
  4.  
  5. Cena rynkowa: 23.00,
  6. Cena sprzedaży: 21.80.
  7.  
  8.  
  9. Autorzy niniejszej książki nie dostarczają wiarygodnej i szerokiej analizy kondy
    cji, w jakiej współcześnie znajduje się wiedza'
    ;
  10. $txt = str_replace('Cena rynkowa: 23.00,', '', $txt);
  11. $txt = str_replace('Cena sprzedaży: 21.80.,', '', $txt);
  12. ?>
sf
@Apo: on nie zna tej ceny, wiec jak moze uzyc str_replace?

@Gość_kamil: musisz sie nauczyc wyrazen regularnych, http://pl2.php.net/manual/en/ref.pcre.php
Apo
sorry niedoczytałem tongue.gif
to by wyglądało miejwięcej tak:

  1. <?php
  2. $txt = 'Wrocław 2004, wydanie I, 86 str., 
  3. oprawa miękka.
  4.  
  5. Cena rynkowa: 23.00,
  6. Cena sprzedaży: 21.80.
  7.  
  8.  
  9. Autorzy niniejszej książki nie dostarczają wiarygodnej i szerokiej analizy kondy
    cji, w jakiej współcześnie znajduje się wiedza'
    ;
  10. $txt = ereg_replace('([Cena rynkowa: ]+)([0-9]+)([.]+)([0-9])', '', $txt);
  11. ?>
crash
Ja proponuję coś bardziej optymalnego:
  1. <?php
  2. echo preg_replace( '/Cena (rynkowa|sprzedaży): [0-9.,rn]+/', '', $txt );
  3. ?>
Gość_kamil
a jak przypisać do zmiennej te wartosci cenowe?
crash
Użyj najpierw preg_match_all" title="Zobacz w manualu php" target="_manual i ujmij tą liczbę w wyrażeniu w ( )... Będzie w tablicy wynikowej chyba pod indeksem [1][0] i [2][0]...
acztery
  1. <?php
  2. $tb = explode (":", strip_tags ($tresc, ','));
  3.  
  4.  
  5. $cena_rynkowa=str_replace("Cena sprzedaży","",$tb[1]);
  6. $cena_rynkowa = substr("$cena_rynkowa", 0, -1); 
  7. ?>
crash
O kurde, niezłe kombinowanie [b]acztery[b] blink.gif Nie łatwiej tak:
  1. <?php
  2. preg_match_all( '/Cena (rynkowa|sprzedaży): ([0-9.]+)/', $txt, $out );
  3.  
  4. $cena_rynkowa   = $out[ 2 ][ 0 ];
  5. $cena_sprzedazy = rtrim( $out[ 2 ][ 0 ], '.' );
  6.  
  7. echo $cena_rynkowa . ' ' . $cena_sprzedazy;
  8. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.