Sé que el título de la pregunta parece muy repetitivo. Pero parte de la solución que no encontré aquí.¿Encontrar las URL de una cadena de texto a través de php y regex?
Tengo que encontrar las direcciones URL cadena de formato de texto:
$pattern = '`.*?((http|https)://[\w#$&+,\/:;[email protected]]+)[^\w#$&+,\/:;[email protected]]*?`i';
if (preg_match_all($pattern,$url_string,$matches)) {
print_r($matches[1]);
}
usando este patrón yo era capaz de encontrar las direcciones URL con http://
y https://
que es okey. Pero tengo la entrada del usuario, donde la gente agrega URL como www.domain.com
incluso domain.com
lo tanto, necesito para validar la cadena de primera donde puedo reemplazar www.domain.com
domain.com
con protocolo común http://
delante de ellos. O tengo que venir con más patrón bueno?
No soy bueno con regex y no sé qué hacer.
Mi idea es encontrar primero las direcciones URL con http://
y la https://
los pusieron en una matriz vuelva a colocar estos url con el espacio (" ") en la cadena de texto a continuación, utilizar otros patrones para ello. Pero no estoy seguro de qué patrón usar.
estoy usando este $url_string = preg_replace($pattern, ' ', $url_string);
, sino que elimina en su caso www.domain.com
o domain.com
url entre dos URL válida con http://
o https://
Si usted puede ayudar a que será grande.
Para hacer las cosas más claras:
Necesito un patrón o algún otro método donde puedo encontrar todas las direcciones URL en una picadura de texto. el ejemplo de URL son:
- domain.com
- www.domain.com
- http://www.domain.com
- http://domain.com
- https://www.domain.com
- https://domain.com
gracias! 5.
¿Está validando la entrada del usuario desde un formulario con un campo de URL? ¿O está raspando una página/bloque de texto para generar una lista de URL que se encuentran dentro de ella? Un ejemplo completo de la "cadena de texto" que está tratando de analizar podría ser útil. – baraboom
@baraboom: sí, desde el cuadro de texto de entrada del usuario. donde la gente puede ingresar como este twitter: twitter.com/user facebook: http://facebook.com etc. – Sisir