Articles of regex

Problemas con PHP, preg_replace y expresiones regulares

Estoy tratando de ejecutar este comando php: preg_replace($regexp, $replace, $text, $maxsingle); Donde los vars son: $regexp = ‘/(?!(?:[^\\]]|[^>\\]]+))\\b(שלום)\\b/imsU’; $replace = ‘$1’; $text is a long post $maxsingle = 3; Cuando el texto que bash hacer coincidir (en el caso anterior “שלום”) está en inglés, todo funciona. Sin embargo, cuando el texto es hebreo, no coincide […]

¿Cómo detectar la segunda ocurrencia usando regex? (php)

De esta pregunta Cómo hacer coincidir esto usando expresiones regulares Ahora mismo quiero buscar la palabra clave 3D D a partir de los datos enviados por el usuario. La regla es siempre que 3D y D estén presentes en la oración, es válida (no distingue entre mayúsculas y minúsculas). Por ejemplo: 3Dzzzzzzzzzzzzzzzzzzz (inválido porque no […]

PHP preg_match_all archivo de 100 MB

He leído que “preg_match_all” no está hecho para analizar archivos grandes, pero necesito hacerlo. He aumentado: pcre.backtrack_limit=1000000000 pcre.recursion_limit=1000000000 mi PHP memory_limit está configurado en 5000M y el script aún termina sin ningún error o excepción dentro de 0,2 segundos … ¿La única solución divide el archivo de 100M en 100 pequeños archivos de 1M? Gracias […]

¿Cómo puedo cambiar el esquema de una URL con preg_match?

Posible duplicado: ¿Cómo agregar http: // si no existe en la URL? Supongamos que quiero hacer coincidir una URL que puede tener http:// , https:// o ninguna en ella. Cuando lo reemplazo, quiero tener https:// en el frente si estaba allí, pero si era http:// o nada, quiero tener http:// al principio. No puedo entender […]

Separa la cadena en una parte más pequeña con la restricción

Necesito dividir una cadena larga en una matriz con las siguientes restricciones: La entrada será una cadena HTML , puede ser de página completa o parcial. Cada parte (nuevas cadenas) tendrá un número limitado de caracteres (p. Ej., No más de 8000 caracteres) Cada parte puede contener oraciones múltiples (delimitadas por. [Punto final]) pero nunca […]

Obtener el primer nombre de subdirectorio desde una URL

He intentado obtener el primer subdirectorio de una URL utilizando todo tipo de funciones de manipulación de cadenas y he tenido muchos problemas. Me preguntaba si alguien sabía de una manera fácil de lograr esto. Agradezco cualquier consejo, gracias de antemano! http://www.domain.com/pages/images/apple.png //output: pages www.domain.com/pages/b/c/images/car.png // output: pages domain.com/one/apple.png // output: one

PHP preg_replace cómo combinar estas dos instrucciones preg?

$str = preg_replace(‘/[\\r\\n!.,\’“”;’?-\s+]/’, ‘ ‘, $str); $str=preg_replace(‘/\s+\S{1,2}(?!\S)|(?<!\S)\S{1,2}\s+/', '', $str); Si los dejo así, ¿existe algún problema de rendimiento o es mejor?

PHP reemplazar la cadena de ayuda

Estoy diseñando un sitio con un sistema de comentarios y me gustaría un sistema de respuesta tipo twitter. Si el usuario pone @a_registered_username, me gustaría que se convierta en un enlace al perfil del usuario. Creo que preg_replace es la función necesaria para esto. $ ALL_USERS_ROW * [‘USERNAME’] es la matriz de consulta de la […]

¿Por qué esta expresión regular devolverá un error?

¿Por qué la siguiente evaluación es true ? if(preg_match_all(‘%.*?.*?.*?%ims’, $contents, $x)===FALSE) {…} $contents , se recupera utilizando file_get_contents() desde esta fuente . La expresión regular se simplificó para resolver el problema. El código que estaba usando realmente era: if(preg_match( ‘%Areas of Study: .*?(.*?).*?.*? %ims’, $contents, $course_list) ) { if(preg_match_all(‘%.*?.*?(.*?).*?.*?.*?.*?.*?(.*?).*?.*?%ims’, $course_list[0], $course_titles) ) { … } […]

Reemplazo de cadena condicional de PHP

Estoy tratando de reemplazar el ~ en | entre el [ ] en el siguiente caso: {stackoverflow is a [cool~great~fast] website ~ Find your answers [easily~quickly] on stackoverflow}. Nota: El texto entre [ ] puede ser multilínea. He intentado varias expresiones regulares buth sin suerte. Mi llamado más cercano en este momento es: $text = […]