2009-09-28 12 views
13

No puedo entender preg_replace, me parece chino, de todos modos solo necesito eliminar "&page-X" de una cadena si está allí.Preg_replace simple

X siendo el número de curso, si alguien tiene un enlace a un útil tutorial preg_replace para principiantes que también sería útil.

Respuesta

17

En realidad, la sintaxis básica para expresiones regulares, apoyada por preg_replace y f riends, es bastante fácil de aprender. Piénselo como una cadena que describe un patrón con ciertos caracteres que tienen un significado especial.

En su caso muy simple, un posible patrón es:

&page-\d+ 

Con \d significa un dígito (caracteres numéricos 0-9) y + significado: Repetir la expresión justo antes + (aquí: \d) uno o más veces Todos los demás personajes solo se representan a sí mismos.

Por lo tanto, el patrón anterior coincide con alguna de las siguientes cadenas:

&page-0 
&page-665 
&page-1234567890 

Desde los preg funciones utilizan una sintaxis compatible con Perl y expresiones regulares se indican entre barras (/) en Perl, usted tiene que rodear el patrón de barras:

$after = preg_replace('/&page-\d+/', '', $before); 

en realidad, se puede usar otros personajes, así:

$after = preg_replace('#&page-\d+#', '', $before); 

Para obtener una referencia completa de la sintaxis admitida, consulte PHP manual.

+0

Entonces, ¿qué pasa si quiero reemplazar "/ página-1" – bluedaniel

+0

ah lo tengo, #/page- \ d + #, gracias por su minuciosa respuesta – bluedaniel

Cuestiones relacionadas