Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Pasar de epreg a preg.

Estas en el tema de Pasar de epreg a preg. en el foro de PHP en Foros del Web. Hola, Hace unos días un usuario del foro me comentó que pasara de epreg a preg para remplazar los distintos caracteres de una cadena con ...
  #1 (permalink)  
Antiguo 03/08/2014, 02:28
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
Pasar de epreg a preg.

Hola,

Hace unos días un usuario del foro me comentó que pasara de epreg a preg para remplazar los distintos caracteres de una cadena con un algoritmo porque está obsoleto. El caso es que no me vale el mismo algo ritmo y quisiera pasar este epreg.

Código PHP:
Ver original
  1. epreg_replace('[^a-zA-Z0-9\-_ ] ', $variable);

Pasarlo a preg. Si saben de algún sitio en el que enseñen también os lo agradecería, porque no encuentro ninguno.

Muchas gracias.
  #2 (permalink)  
Antiguo 03/08/2014, 03:04
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: Pasar se epreg a preg.

Puedes verlo en el manual http://php.net/manual/es/function.preg-replace.php

Saludos.
  #3 (permalink)  
Antiguo 03/08/2014, 03:56
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
Respuesta: Pasar se epreg a preg.

Hola Manuel,

Ya consulté la manual de PHP pero no encuentro la respuesta o la forma para hacerlo. No sé exactamente si me vale el mismo algoritmo (que creí que no porque sino me funcionaría). Además a la función hay pasarle tres parámetros mientras que a la epreg solo dos.

Gracias.
  #4 (permalink)  
Antiguo 03/08/2014, 13:33
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Pasar se epreg a preg.

¿De verdad leíste la información del enlace que te dejo MaNuX0218, porque la explicación brindada es muy clara:

Cita:
Iniciado por Manual de PHP
pattern
El patrón de búsqueda. Puede ser tanto una cadena como una matriz de cadenas.

También están disponibles varios modificadores de PCRE, incluyendo el obsoleto 'e' (PREG_REPLACE_EVAL), que es específico de esta función.

replacement
La cadena o matriz de cadenas a reemplazar. Si este parámetro es una cadena y el parámetro pattern es una matriz, todos los patrones serán sustituidos por esa cadena. Si ambos parámetros, pattern y replacement, son matrices, cada pattern será reemplazado por el replacement equivalente. Si hay menos elementos en la matriz replacement que en la matriz pattern, cualquier pattern extra será reemplazado por una cadena vacía.

replacement puede contener referencias de la forma \\n o (desde PHP 4.0.4) $n, siendo preferida la última forma. Cada referencia de este tipo será sustituida por el texto capturado por el n-simo patrón entre paréntesis. n puede ser desde 0 a 99, y \\0 o $0 se refiere al texto coincidido por el patrón completo. Los paréntesis de apertura se cuentan de izquierda a derecha (comenzando por 1) para obtener el número de sub-patrones de captura. Se debe doblar la barra invertida para poder usarla en la sustitución (cadena PHP "\\\\").

Cuando se trabaja con un patrón de sustitución donde una retro-referencia es immediatamente seguida de otro número (p.ej.: colocar un número literal immediatamente después de un patrón coincidido), no puede usar la notación familiar \\1 para sus retro-referencias. \\11, por ejemplo, confundiría a preg_replace() ya que no sabe si quiere que la retro-referencia \\1 esté seguida por un literal 1, o que la retro-referencia \\11 esté seguida de nada. En este caso la solución es usar \${1}1. Esto crea una retro-referencia $1 aislada, dejando el 1 como un literal.

Cuando se usa el modificador obsoleto e, esta función escapa algunos caracteres (a saber, ', ", \ y NULL) en la cadena que sustituye a las retro-referencias. Esto está hecho para asegurarse de que no surjan errores de sintaxis en el uso de retro-referencias con comillas simples o dobles (p.ej. 'strlen(\'$1\')+strlen("$2")'). Asegúrese de que conoce la sintaxis de cadena para saber cómo se asemejarán las cadenas interpretadas.

subject
La cadena o matriz de cadenas a buscar y sustituir.

Si subject es una matriz, entonces la búsqueda y sustitución se llevan a cabo para cada entrada de subject, y el valor devuleto también es una matriz.

limit
Las sustituciones máximas posibles por cada patrón en cada cadena subject. Por defecto es -1 (sin límite).

count
Si se especifica, esta variable será rellenada con el número de sustituciones hechas.
Incluso hay un ejemplo al final del mismo, es solo cuestión de que lo analices con calma pues nadie lo hará por ti, si no, eso ya no sería ayudar sino perjudicar. Ahora que si aún leyendo y analizando con calma la información brindada haya algo que no te quede claro, eso sí podrías preguntárnoslo y con gusto te ayudaremos, pero cosas puntuales.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 04/08/2014, 15:59
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
Respuesta: Pasar se epreg a preg.

He leído de nuevo el manual, he estado probando y ya lo he conseguido, muchas gracias a los dos .

Etiquetas: variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:20.