Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [RegExpr] Ech
Forum PHP.pl > Forum > PHP
Spirit86
Wtiam, mam problem.
Chcę, aby wszystko co stało między:

"-- ",a " --" zostało skasowane
Tak samo z "-- ",a " --"

Napisałem:
  1. <?php
  2. $contents = preg_replace('-- (.*) --', '', $contents);
  3. ?>

-nie działa
  1. <?php
  2. $contents = preg_replace('\-\- (.*) \-\-', '', $contents);
  3. ?>

-także

Powyższe wyrażenia usuwają wszystko, nie tylko komentarze :/

Pozdrawiam
TomASS
U mnie takie coś:
  1. <?php
  2.  
  3. $contents = '>>>>>>>>>>>>>>>>>>--dasdas--<<<<<<<<<';
  4. echo '<b>Przed:</b> '.$contents.'<br>';
  5. $contents = preg_replace('/--(.*)--/', '', $contents);
  6. echo '<b>Po:</b> '.$contents;
  7.  
  8. ?>

Wyświetla:
Cytat
Przed: >>>>>>>>>>>>>>>>>>--dasdas--<<<<<<<<<
Po: >>>>>>>>>>>>>>>>>><<<<<<<<<

To chyba o to Ci chodzi smile.gif
bendi
Cytat(Spirit86 @ 2006-03-17 15:22:12)
Wtiam, mam problem.
Powyższe wyrażenia usuwają wszystko, nie tylko komentarze :/

Nie całkiem - zapewne jest tak, że masz "-- ,a ---" na początku i na końcu stringa, wtedy faktycznie wywalane jest wszystko. Jakbyś się dobrze przyjrzał zauważyłbyś, że w przypadku stringa:
  1. <? $string = '--a-- costam costam --a-- ble ble '; 
  2. ?>

I regułki którą stworzyłeś, w ciągu zostanie nam:
Kod
ble ble


Wskazówka: greedy lub zachłanność
Spirit86
hehe, napisałem
  1. <?php
  2. $exploe[$n] = preg_replace('%--.*?--%s','',$exploe[$n]);
  3. ?>
, wygląda na to, że działa smile.gif
dzięki
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.