Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie znaków od XX do YY
Forum PHP.pl > Forum > PHP
.radex
Czy istnieje wbudowana funkcja która kasuje wszystko od jakiegoś znaku (sekwencji znaków) do jakiegoś znaku (sekwencji znaków), tzn.

..............................XX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,YY.................
......

byłoby zamienione na

.....................................................

albo mogłobybyć z pozostawieniem tych znaków tj.

..............................XXYY.......................

bo i tak można je usunąć osobno

Więc czy istnieje taka funkcja czy muszę takową pisać samemu ( :roll2: )
Cezar708
na przykład preg_replace()

przykład:
  1. <?php
  2. $string="..............................XX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,YY............
    ..........."
    ;
  3. echo preg_replace("/[X-Y]/","",$string);
  4. ?>


EDIT: ups... chyba nie o to chodziło...

Jeśli chcesz aby kasował Ci od jakiegoś znaku do innego to musisz niestety własną funkcję napisać.
Funkcje z tej strony dokumentacji powinny być Ci pomocne.
Darti
Może takie coś (wywalić wszystko):
  1. <?php
  2. $string="..............................XX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,YY............
    ..........."
    ;
  3. echo preg_replace('/(XX)+(,)+(YY)/','',$string);
  4. ?>

albo wywalić same przecinki:
  1. <?php
  2. $string="..............................XX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,YY............
    ..........."
    ;
  3. echo preg_replace('/(XX)+(,)+(YY)/','$1$3',$string);
  4. ?>
.radex
tzn. te przecinki to był przykład ale zrobiłem to w taki sposób:

$output = preg_replace("#(XX)+(.*?)+(YY)#si","",$input);

Dzięki wielkie!
Cezar708
Nie rozpoczynając nowego tematu, to mam pytanie, jak zrobić sytuację odwrotną, czyli używając przykładu powyższego:
  1. <?php
  2. $string='..............................XX,,,,,,,,,przecinki :) ,,,,,,,,,,,,,,YY.......................';
  3. $output = {brakująca_funkcja}('/(XX)+(,)+(YY)/','',$string);
  4. echo $output
  5. ?>


dało w wyniku
Kod
,,,,,,,,,przecinki :) ,,,,,,,,,,,,,,


czyli wszystko to co jest pomiedzy znakami XX i YY
zimi
manual!
  1. <?php
  2. $string="..............................XX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,YY............
    ..........."
    ;
  3. preg_match('/(XX)+(,)+(YY)/',$string,$dopasowany);
  4. echo $dopasowany[2];
  5. ?>
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.