Sustituir backslash por slash

Estado
No está abierto para más respuestas.
Mensajes
213
Puntuación de reacción
0
Buenas, de nuevo el pesado de turno por aqui esta vez con una pregunta de sustitucion de caracteres en una cadena de texto enviada con $_POST

En el tracker teniamos un generador de post de filmaffinity, el cual ha dejado de funcionar y he empezado a usar otro, el problema viene cuando le meto un campo nuevo para el mediainfo, antes el mediainfo nos daba problemas por los corchetes cuando se hacia el autopost, esto lo solucione en este nuevo con str_replace

PHP:
$corchoabre = array("[","]");
$parentesisabre   = array("(",")");

$mediainfo2 = str_replace($corchoabre, $parentesisabre, $mediainfo);

El problema viene ahora, y es que los mediainfo hechos con el rutorrent por ejemplo desde el servidor/nas etc en lugar de llevar backslash en lo que es la ruta del archivo, va con slash tipo

Código:
Complete name                            : /home/Subidas/Peliculas/MicroHD/La Venus De Las Pieles (MicroHD 1080p Ac3 5.1 Dual + Sub)/La Venus De Las Pieles (MicroHD 1080p Ac3 5.1 Dual + Sub).mkv

¿cual es el problema? pues que no se por que al drle al completar formulario me envia de nuevo al index, por lo que he intentado meter dentro del str_replace esos dos caracteres de esta manera:

PHP:
$corchoabre = array("[","]","/");
$parentesisabre   = array("(",")","\\");

$mediainfo2 = str_replace($corchoabre, $parentesisabre, $mediainfo);

Aun asi continua enviandome de nuevo al index ¿alguna idea de por que pudiera suceder esto?

Dejo la parte principal del codigo con la que se obtiene el mediainfo, como podreis observar no es mas que un formularo norml y corriente, la unica diferencia es que esta metida dentro de ob_start() que es lo que hace la llamada al modulo en xbtit (no creo que sea demasiado relevante eso pero por si acaso lo digo):

PHP:
<?php
ob_start();
dbconn();
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>
<?php
if (!$_POST) {
echo'
<link rel="stylesheet" href="/modules/filmaffinity/css/global.css" type="text/css" media="all" />
		<link rel="stylesheet" href="/modules/filmaffinity/css/input.css" type="text/css" media="all" />
		  
		<script type="text/javascript">
		function validacion() {
		  if (gen.value == "") {
		    alert(\'[ERROR] Debe Generar el post antes de postearlo\');
		    return false;
		  }
		  return true;
		}
</script>
<div class="contenedor" align="center">
 <form name="frm" id="frm" class="divt" method="post" action="">
 <table width="100%" border="0" align="center">
		<tr>
		  <td align="center">
		  <p><img src="/modules/filmaffinity/imagenes/filma.png" /> </p>
		  <p>
		  <li class="inst">1.- Dale al botón "Ir a FilmAffinity"</li>
		  <li class="inst">2.- Busca tu Pelicula, Serie o Anime</li>
		  <li class="inst">3.- Copia la url de la ficha</li>
		  <li class="inst">4.- Pega la url en la barra de texto de aqui abajo</li>
		  <li class="inst">5.- Selecciona tu plantilla</li>
		  <li class="inst">6.- Añade el Mediainfo de tu aporte</li>
		  <li class="inst">7.- Dale al botón "Completar Formulario"</li>
		  </p>
			<p><a href="http://www.filmaffinity.com/" target="_new"> <input type="button" name="boton" alt="buscar" value="Ir a FilmAffinity" /></a><br />
			
			<select name="temp" id="temp">
             
             <option value="peli">Peliculas</option>
             <option value="series">Series</option>
             <option value="anime">Anime</option>
             </select></p>
			
			<p>
				<li class="inst" style="font-size:16px;">Url de FilmAffinity</li>
			  <input class="caja" name="link" type="text"  id="link"  value="'.$link.'" size="70" />
			  
			  <li class="inst" style="font-size:16px;">MediaInfo</li>
			   <textarea class="caja" name="info1" id="info1" cols="49" value="'.$mediainfo.'" rows="10"></textarea>
				
			  <br />
			</p>
			<div align="center">
			  <input name="enviar" type="submit" value="Completar Formulario" />
			  <input type="hidden" value="si" name="formPelis" />
			</div>
		  </td>
		</tr>
	  </table>
	</form></div>
    ';
}

else
{
if ($_POST['temp'] == 'peli'){
$link = $_POST['link'];
$mediainfo = $_POST['info1'];

$html = file_get_html(''.$link.'');

foreach($html->find('div[id=right-column]') as $info){
 $img = $info->find('img',0)->src;
 }


$main = array("main");
$large   = array("large");

$img2 = str_replace($main, $large, $img);


$corchoabre = array("[","]","/");
$parentesisabre   = array("(",")","\\");

$mediainfo2 = str_replace($corchoabre, $parentesisabre, $mediainfo);
echo $mediainfo2;

Gracias por adelantado y sorry por ser tan pesado xD


EDITO:
Acabo de comprobar una cos, y es que el fallo solo lo da cuando esta la ruta del archivo ejemplo:

Código:
Complete name                            : /home/Subidas/Peliculas/MicroHD/La Venus De Las Pieles (MicroHD 1080p Ac3 5.1 Dual + Sub)/La Venus De Las Pieles (MicroHD 1080p Ac3 5.1 Dual + Sub).mkv

Ya que he probado con un mediainfo de un archivo de mi hdd y funciona la sustitucion de caracteres en otras partes del media info como por ejemplo:

Código:
Codec ID                                 : V_MPEG4/ISO/AVC

que lo sustituye por :

Código:
Codec ID                                 : V_MPEG4\ISO\AVC

Ahora si que ya entiendo aun menos ya que es texto plano y no se por que no hace ese cambio en la ruta y salta directamente al index (lo he comprobado con varios mediainfo de ese estilo)
 
Última edición:
Estado
No está abierto para más respuestas.
Arriba