El caso es que he seguido un post de aqui para hacer un buscador PHP sencillo pero el mismo por defecto , me sustituye los espacios en blanco por %20 y yo necesito cambiar en la URL ese %20 por un -, porque asi es como estan hechas en mi web para los productos.
Cuando hay un espacio en blanco me pone un guion entre palabra y palabra.
He probado con str replace con algo asi :
$new = str_replace("%20", "-", "$new");
Pero no he conseguido que me haga el cambio.
Paso el codigo ya que solo es una pagina php:
Código:
Muchas gracias a ver si alguno me puede echar una mano! <head> <link href="../css/estiloGeneral.css" rel="stylesheet" type="text/css" media="screen and (min-width: 481px)" /> <link href="../css/movil.css" rel="stylesheet" type="text/css" media="handheld, only screen and (max-device-width: 480px)" /> <link rel="stylesheet" type="text/css" href="../css/estiloMenu.css" /> </head> <body> <div id="contenedor"> <?php require_once("include/cabecera.php");require_once("include/traducNombre.php");?> <div id="social2"> <?php require_once('include/social2.php')?> </div> <div id="contenido"> <?php // conectar al servidor $server_link = mysql_connect("host", "id", "pass"); if(!$server_link){ die("Falló la Conexión ". mysql_error()); } // seleccionamos la base de datos $db_selected = mysql_select_db("base", $server_link); if(!$db_selected){ die("No se pudo seleccionar la Base de Datos ". mysql_error()); } // varificamos que el formulario halla sido enviado if(isset($_GET['buscar']) && $_GET['buscar'] == 'Buscar'){ $frase = addslashes($_GET['frase']); // hacemos la consulta de busqueda $sqlBuscar = mysql_query("SELECT nombre, descripcion, MATCH (nombre, descripcion) AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias FROM productoPrueba WHERE MATCH (nombre, descripcion) AGAINST ('$frase' IN BOOLEAN MODE) ORDER BY coincidencias DESC", $server_link) or die(mysql_error()); $totalRows = mysql_num_rows($sqlBuscar); // Enviamos un mensaje // indicando la cantidad de resultados ($totalRows) // para la frase busada ($frase) if(!empty($totalRows)){ echo stripslashes("<p>Su búsqueda arrojó <strong>$totalRows</strong> resultados para <strong>$frase</strong></p>"); // mostramos los resultados while($row = mysql_fetch_array($sqlBuscar)){ echo "<strong><a href='http://www.tejasa.es/productos//$row[nombre]'>$row[nombre]</a>:</strong> <em>Coincidencias: ". round($row['coincidencias']) ."</em><br />"; echo "<p>".substr(strip_tags($row['descripcion']), 0, 255)."...</p>"; } //$newa = str_replace("%20", "-", "$new"); } // si se ha enviado vacio el formulario // mostramos un mensaje del tipo Oops...! elseif(empty($_GET['frase'])){ echo "Debe introducir una palabra o frase."; } // si no hay resultados // otro mensaje del tipo Oops...! elseif($totalRows == 0){ echo stripslashes("Su busqueda no arrojo resultados para <strong>$frase</strong>"); } } ?> <h1>Buscador</h1> <form name="buscar" action="<?php $_SERVER['PHP_SELF'] ?>" method="get"> Buscar: <input type="text" size="50" value="<?php echo $_GET['frase']; ?>" name="frase" /> <input type="submit" name="buscar" value="Buscar" /> </form> <?php require_once('include/piePagina.php')?> </div> </div> </body>