Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/08/2003, 19:09
RAZACALA
Usuario baneado!
 
Fecha de Ingreso: diciembre-2002
Ubicación: En mi chozita
Mensajes: 142
Antigüedad: 21 años, 4 meses
Puntos: 0
Cortar n Cadenas en 2 con un patron comùn

Amigos Manoloweb, y LeonardoP, realmente lo de las expresiones regulares todavia me queda muy grande.

Tengo esta necesidad, ("resuelta", pero no creo que sea la forma idonea de hacerlo), donde quisiera que la variable $todas pudiese tener utilidad, es decir, ...nuevamente decirle a php:

$todas = funcionX($todas);

Quizas la solucion sea nuevamente, (para sorpresa de quienes no conocemos el PHP), CREAR la funcion, o quizas sea una funcion que yo no he podido hallar.

Aunque creo que el "script" creado dice por si solo lo que pretendo que haga,
lo aclaro para no hacerles perder mucho más tiempo del REALMENTE requerido:

Cortar una cadena en 2 partes:

$a = "En foros del web encuentras a Manoloweb y LeonardoP. [Tambien a Razacala con sus preguntas de aprendiz]";

Como hacer para que cualquier cadena con cualquier contenido tipo:

"bla bla bla, [más bla, bla, bla]"

quede dividida en lo que hay afuera de [] y lo que hay adentro de []

Nota: La idea es poder hacerlo de manera funcional sobre 50 cadenas de una sola vez.

*************************************************
Código PHP:
<TABLE BGCOLOR=AABBCC><TR>
<?php

$a 
"Para poder                Esta seria la opcion: Elegida AA [01]";
$b "imprimir el contenido        Esta seria la opcion: Elegida BB [02]";
$c "de [ ] esteticamente    Esta seria la opcion: Elegida CC [03]";
$d "en celdas individuales        Esta seria la opcion: Elegida DD [04]";

/* $todas = "$a$b$c$d";     Sera que esta variable tiene utilidad?

como veran logre cortar las cadenas utilizando 2 funciones SOBRE CADA UNA, y creo que no debe ser asi, por que aqui solo son 4 cadenas, pero si tenemos 40? */

$a1 explode("[",$a);    // Toma solo el valor hasta [
$a2 strstr($a,"[");    // Toma solo el valor desde [
$b1 explode("[",$b);    // Toma solo el valor hasta [
$b2 strstr($b,"[");    // Toma solo el valor desde [
$c1 explode("[",$c);    // Toma solo el valor hasta [
$c2 strstr($c,"[");    // Toma solo el valor desde [
$d1 explode("[",$d);    // Toma solo el valor hasta [
$d2 strstr($d,"[");    // Toma solo el valor desde [

echo "<TD align=center>Opcion elegida<BR></TD><TD align=center>Valor</TD></TR><TR>";
echo 
"<TD>$a1[0]<BR></TD><TD>$a2</TD></TR><TR>";
echo 
"<TD>$b1[0]<BR></TD><TD>$b2</TD></TR><TR>";
echo 
"<TD>$c1[0]<BR></TD><TD>$c2</TD></TR><TR>";
echo 
"<TD>$d1[0]<BR></TD><TD>$d2</TD></TR><TR>";
?>

</TABLE>
 Sin que importe la extension de lo que halla entre los [ ]

<br><br><br><br>

Como por ejemplo:
<TABLE BGCOLOR=PERU><TR>

<?php

$a 
"Para poderlas    Esta seria la opcion: AA [06546541]";
$b "imprimir        Esta seria la opcion: BB [025454]";
$c "esteticamente    Esta seria la opcion: CC [0343]";
$d "en tablas        Esta seria la opcion: DD [O incluso texto extenso, o no extenso]";

$todas "$a$b$c$d";    // Sera que esta variable tiene utilidad?

$a1 explode("[",$a);    // Toma solo el valor hasta [
$a2 strstr($a,"[");    // Toma solo el valor desde [
$b1 explode("[",$b);    // Toma solo el valor hasta [
$b2 strstr($b,"[");    // Toma solo el valor desde [
$c1 explode("[",$c);    // Toma solo el valor hasta [
$c2 strstr($c,"[");    // Toma solo el valor desde [
$d1 explode("[",$d);    // Toma solo el valor hasta [
$d2 strstr($d,"[");    // Toma solo el valor desde [

echo "<TD align=center>Opcion elegida<BR></TD><TD align=center>Valor</TD></TR><TR>";
echo 
"<TD>$a1[0]<BR></TD><TD>$a2</TD></TR><TR>";
echo 
"<TD>$b1[0]<BR></TD><TD>$b2</TD></TR><TR>";
echo 
"<TD>$c1[0]<BR></TD><TD>$c2</TD></TR><TR>";
echo 
"<TD>$d1[0]<BR></TD><TD>$d2</TD></TR><TR>";
?>
</TABLE>
Ya saben: $G