Dudas con el codigo de un formulario

xlain
26 de Julio del 2004
Hola estoy intentando encontrar el fallo de una función y como estoy muy muy verde no logro saber si voy bien o mal el problema lo tengo en la caja de un formulario en la que se debe introducir una dirección web omitiendo "http://" he buscado la función que condiciona este registro y por más que intento entenderla con ayuda de manuales y demás no lo consigo, a ver si alguien puede aclararme algo


if (!preg_match("/^[w]+[w]+.[w]+[w]+.[w]+[w]+/i", $vendors_host) || preg_match("/(://)/i", $vendors_host)) {
$report_errors .= _ERROR_HOST;




Un saludo.


inphyx
26 de Julio del 2004
La función preg_match busca la coincidencia del patrón especificado dentro de una cadena:

preg_match("/patrón/[parámetros]", $cadena);

En este caso se usa el parámetro i que indica la no distinción entre mayúsculas y minúsculas.

^ significa que busque la coincidencia al principio de la cadena
w significa carácter de palabra, es decir alfabético
+ significa n repeticiones del carácter

En resumen, busca la coincidencia de [palabra].[palabra].[palabra] desde el inicio de la cadena y la no existencia de "://" en ninguna parte de la cadena.

Esto puede ser: www,dominio.com o también loqsea.cualquiercosa.algo
Pero no: http://www.dominio.com o cualquier otra cadena que contenga ://

En caso de que no se cumplan estas condiciones, añade a la variable $report_errors el error _ERROR_HOST, que debe contener el error relacionado con dirección web mal introducida.

Espero que me haya explicado bien...

Salu2,

iNphYx