PHP - eliminar palabras dinamicas de un substring

 
Vista:
Imágen de perfil de Orlando
Val: 103
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

eliminar palabras dinamicas de un substring

Publicado por Orlando (73 intervenciones) el 12/09/2020 12:25:55
Buen día desarrolladores y gracias de antemano.
Necesito a ver si esta a su disposición echarme por favor una mano en este rollo.

Tengo varios días investigando y y probando pero no me funciona... :(

Este es el resultado que me arroja:

41
2020-09-11 17:34:31
Deudas y embargos
==>Mérida Comuna de residencia: El Chama
==>El Chama
Ver caso

Mi pregunta es: ¿Cómo dejo solo la palabra Mérida y elimino lo Comuna de residencia: El Chama?

Debería quedar asi:

41
2020-09-11 17:34:31
Deudas y embargos
==>Mérida
==>El Chama
Ver caso


Este es el código de la web:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
include("conexion/conexion.php");
$clientes = "SELECT id, sent_date, SUBSTRING(subject, 39), message FROM wpju_email_log";
?>
<body>
	<div class="container-table">
		<?php $resultado = mysqli_query($conexion, $clientes);
		while ($row=mysqli_fetch_assoc($resultado)) { ?>
 
		<div class="table__item"><?php echo $row["id"]?></div>
		<div class="table__item"><?php echo $row["sent_date"]?></div>
		<div class="table__item"><?php echo $row["SUBSTRING(subject, 39)"]?></div>
		<?php $s = $row["message"];
		$segundo = strpos($s, "Comuna de residencia: ");
		$primero = strpos($s, "Region de residencia: ");
		//echo sprintf("s = '%s', Largo total = %d, comienzo 'Comuna de residencia: ' = %d", $s, strlen($s), $segundo).PHP_EOL;
        $region = substr($s, $primero + strlen('Region de residencia: '));
        $comuna = substr($s, $segundo + strlen('Comuna de residencia: '));
        //echo "Region = '$region', Comuna = '$comuna'".PHP_EOL;?>
        <?php
 
        $string = $row["message"];
        $search = "Region de residencia: ";
        $pos = strpos($string, $search);
        $return = substr($string, $pos+strlen($search));
 
        ?>
 
        <div class="table__item"><?php echo '==>'.$return?></div>
        <div class="table__item"><?php echo '==>'.$comuna?></div>
 
 
		<a href="consulta_caso.php?id=<?php echo $row["id"];?>" class="table__item__link">Ver caso</a>
		</div>
 
		<?php } mysqli_free_result($resultado);?>
 
		<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
	</div>
</body>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de javier
Val: 1.542
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

eliminar palabras dinamicas de un substring

Publicado por javier (546 intervenciones) el 12/09/2020 19:38:16
si el string siempre entra igual podrias hacer

1
2
3
4
$string = $row["message"];
//cogemos solo lo que hay antes de Comuna
$variable = substr($string, 0, strpos($string, "Comuna"));
echo $variable;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Orlando
Val: 103
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

eliminar palabras dinamicas de un substring

Publicado por Orlando (73 intervenciones) el 13/09/2020 01:07:54
Gracias por la ayuda.

Lo que sucede es que antes de comuna no es solo merida hay mas caracteres, ya te muestro el nuevo resultado:

1
2
3
4
5
6
7
$string = $row["message"];
$variable = substr($string, 0, strpos($string, "Comuna"));
 
?>
 
<div class="table__item"><?php echo '==>'.$variable?></div>
<div class="table__item"><?php echo '==>'.$comuna?></div>


Nuevo resultado:

41
2020-09-11 17:34:31
Deudas y embargos
==>¿Es usted el deudor o el acreedor?: Acusado ¿Cuál es el origen de la deuda?: Pagos de condominio Monto aproximado de la deuda: 20.000.000 Explique brevemente su caso (recuerde no incluir datos personales): La verdad es que son muy cobradores. Nombre completo: Maria De Los Angeles Castañeda E-Mail: [email protected] Teléfono: 0426986-888 Region de residencia: Mérida
==>El Chama
Ver caso



Creo que lo que tu quieres decir aqui:

1
$variable = substr($string, 0, strpos($string, "Comuna"));

Esta mandando a la posicion 0 (cero) a la primera posicion, el problema es que ese string no tiene tamaño fijo, es variable.

Lo ideal es eliminar todo lo que este despues de Mérida: Comuna de residencia: El Chama.

Osea, esa si es fija: Comuna residencia. No mostrar todo lo que este despues de Comuna...


==>Mérida Comuna de residencia: El Chama
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de javier
Val: 1.542
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

eliminar palabras dinamicas de un substring

Publicado por javier (546 intervenciones) el 13/09/2020 05:28:17
Eso es lo que hace, solo muestra lo que está antes de Comuna.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar