Jump to content
Earendil010102

ANSWERED Usar HTML dentro de array PHP

Recommended Posts

Earendil010102

Alguém sabe dizer como transformo várias div html em um array php? Tenho um projeto da faculdade onde preciso mostrar animais em ordem aleatória e, para isso, vou usar a função shuffle(). Mas para conseguir utilizar a função, preciso colocar as imagens dentro de um array. Segue o código abaixo.

<?php

$animais_detalhes = [
    'cachorro' => [
        'nome' => 'Cachorro',
        'caracteristicas' => [
            ['mora numa casinha', 'cachorro/mora_numa_casinha.jpg'],
            ['tem patas', 'cachorro/tem_patas.jpg']
        ]
    ],
    'coruja' => [
        'nome' => 'Coruja',
        'caracteristicas' => [
            ['gosta da noite', 'coruja/gosta_da_noite.jpg'],
            ['tem olhos grandes', 'coruja/tem_olhos_grandes.jpg']
        ]
    ],
    'gato' => [
        'nome' => 'Gato',
        'caracteristicas' => [
            ['dorme muito', 'gato/dorme_muito.jpg'],
            ['tem bigode', 'gato/tem_bigode.jpg']
        ]
    ],
    'peixe' => [
        'nome' => 'Peixe',
        'caracteristicas' => [
            ['tem escamas', 'peixe/tem_escamas.jpg'],
            ['vive na agua', 'peixe/vive_na_agua.jpg']
         ]
        ] 
];

$animais = array_keys($animais_detalhes);
$escolha_aleatoria = rand(0, 3);
$animal_escolhido = $animais_detalhes[$animais[$escolha_aleatoria]];

?>
<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
        <title>Hello, world!</title>

        <style>
            body {
                background: lightgreen;
            }

            .card-image img {
                object-fit: cover;
                object-position: center;
                width: 100%;
                max-height: 200px;
            }

            img.img-animal {
                object-fit: none;
                object-position: center;
                width: 100%;
                max-height: 200px;
            }
        </style>
    </head>
    <body>
        <div class="container-fluid p-4 pb-2" style="background: lightskyblue">
            <div class="row mt-2">
                <div class="col-md-2"></div>
                <div class="col-md-4">
                    <div class="card card-image d-block">
                        <img src="./imagens/<?=$animal_escolhido['caracteristicas'][0][1]?>" class="card-img-top" alt="<?=$animal_escolhido['caracteristicas'][0][0]?>">
                        <div class="card-body">
                            <p class="card-text"><?=$animal_escolhido['caracteristicas'][0][0]?></p>
                        </div>
                    </div>
                </div>
                <div class="col-md-4">
                    <div class="card card-image d-block">
                        <img src="./imagens/<?=$animal_escolhido['caracteristicas'][1][1]?>" class="card-img-top" alt="<?=$animal_escolhido['caracteristicas'][1][0]?>">
                        <div class="card-body">
                            <p class="card-text"><?=$animal_escolhido['caracteristicas'][1][0]?></p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="container-fluid p-2 mt-3" style="background: lightgreen">
            
            <div class="row">
               
                <div class="col-md-3"></div>
                
                <div class="col-md-3">
                    <a href="votar.php?apresentado=<?=$animais[$escolha_aleatoria]?>&escolhido=<?=$animais[$escolha_aleatoria]?>">
                        <img width="256" src="./imagens/<?=$animais[$escolha_aleatoria]?>.png" class="img-fluid" alt="animal" />
                    </a>
                </div>

                <div class="col-md-3"> 
                    <a href="votar.php?apresentado=<?=$animais[$escolha_aleatoria]?>&escolhido=<?=$animais[0]?>"> 
                        
                        <img width="256" src="imagens/<?=$animais[0]?>.png" class="img-fluid" alt="animal" />
                    </a>
                </div>

                <div class="col-md-3"></div>
                
            </div>
        
        </div>

        <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
        <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
    </body>
</html>

 

Share this post


Link to post
Share on other sites
M6

Partindo do principio de que o HTML está correto, ou seja, é XML, podes usar um parser de XML para obter os nós que queres e manipulares como quiseres.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
Earendil010102

Acho que é melhor usar uma condicional IF para fazer isso. Mas como eu converto uma div em variável PHP para poder usar ela na condicional?

Share this post


Link to post
Share on other sites
M6
On 8/15/2020 at 7:19 PM, Earendil010102 said:

Acho que é melhor usar uma condicional IF para fazer isso. Mas como eu converto uma div em variável PHP para poder usar ela na condicional?

Bom, se já tinhas uma resposta e achas que é melhor do que qualquer outra, porque colocaste a questão?...


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.