0votos

POO PHP - Eliminar paréntesis en PHP

por César Edwin León Schaus hace 4 meses

Se realizó el desarrollo de la solución

Un ejercicio para poder practicar POO en PHP que es eliminar los paréntesis que están de mas - la finalidad es aprender y leer código de los demás.

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>Eliminar Parentesis</title> 
    <link rel="stylesheet" href=""> 
    <!-- Latest compiled and minified CSS --> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
    <!-- Latest compiled and minified JavaScript --> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
</head> 
<body> 
    <?php   
        /** 
        *  
        */ 
        class ClearPar  
            public $cadena; 
            public $resultado; 
 
            public function __construct($cadena) 
                $this->cadena = $cadena; 
 
            public function build(){ 
 
                $cad_split = str_split($this->cadena); 
                $len = count($cad_split) - 1; 
                $key_ini = 0; 
                 
                foreach ($cad_split as $key => $value) { 
                     
                    if($key == $key_ini){     
 
                        if($value == '('){ 
 
                            $this->resultado .= $value; 
                        }                         
 
                    } else if($key == $len){ 
 
                        if ($value == ')') { 
 
                            $this->resultado .= $value;                             
 
                    }else if($value != $cad_split[$key-1]){ 
                             
                            $this->resultado .= $value;          
                    }         
 
                }                 
 
                return  $this->resultado; 
 
    ?> 
    <div class="container"> 
        <div class="alert alert-info"> 
            <h3>Eliminar parentesis</h3> 
            <p> 
                Usando PHP, crear una clase llamada ClearPar que tenga un método llamado build que reciba como parámetro una cadena formada sólo por paréntesis. El algoritmo debe eliminar todos los paréntesis que no tienen pareja. Finalmente devolver la nueva cadena. <br> 
                <strong>Indicaciones</strong> <br> 
                • Crear la solución en un solo archivo llamado ClearPar.php <br> 
                • El método build devuelve la salida del algoritmo <br> 
                • Considerar solamente cadenas formadas de paréntesis <br> 
                <strong>Ejemplos</strong> 
                • entrada: ()())() - salida: ()()() <br> 
                • entrada: ()(() - salida: ()() <br> 
                • entrada: )( - salida: (una cadena vacía) <br> 
                • entrada: ((() - salida: () <br> 
            </p> 
        </div>     
        <form action="" name='form' id="formulario" method="post"> 
            <div class="row"> 
                <div class="col-md-6"> 
                    <input type="text" name="cadena" id="cadena" class="form-control" placeholder="Cadena"> 
                </div>     
                <div class="col-md-6">                 
                    <button type="button" class="btn btn-primary" id="btn-submit" >Eliminar Parentesis</button> 
                </div> 
            </div> 
        </form> 
 
        <?php   
            $cad = $_POST['cadena']; 
            if ($cad !=''){ 
                $obj = new ClearPar($cad); 
                $res = $obj->build();     
                 
                if($res ==''){ 
 
                    echo "(Una cadena Vacía)"; 
 
                }else{ 
                     
                    echo $res; 
                 
                 
             
        ?>     
 
        </div> 
        <script> 
            var formu = $("#formulario"); 
            $("#btn-submit").click(function(){ 
                formu.submit(); 
            }); 
        </script> 
    </body> 
    </html> 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.