Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/01/2017, 04:14
Avatar de blogger
blogger
 
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Respuesta: script de búsqueda, no se como obtener los valores

Esta es una pregunta muy recurrente, y para aquellos que tengan el deseo o la intención de implementar un buscador bíblico en su sitio, les informo que encontré la solución.

Tengo varias biblias en SQL y

Código PHP:
//Variable del URL
$quest=filter_var(($_GET['search']), FILTER_SANITIZE_STRING);

//Dividimos las referencias
$quest preg_split('[,|;]'$quest);

print_r($quest);

// Iniciamos el blucle
foreach ($quest as $valor) {
    
    
// Separamos las referencias
    
$parts preg_split('/\s*:\s*/'trim($valor));

    
// Preparamos el Array
    
$book = array('name' => ""'chapter' => ""'verses' => array());

    
// $part[0] = libro + capitulo, si isset $part[1] es versiculo
    
if(isset($parts[0]))
    {
        
// 1.) Capitulo
        
if(preg_match('/\d+\s*$/'$parts[0], $out)) {
            
$book['chapter'] = rtrim($out[0]);
        }

        
// 2.) Nombre del Libro
        
$x trim(preg_replace('/\d+\s*$/'""$parts[0]));
        
        
//Cuando no haya nombre del libro, usar nombre anterior 
        
if (empty($x)) {
            
$x $t;
            
$book['name'] = $x;
        } else {
            
$book['name'] = $x;
            
$t $x;
        }
    }

    
// 3.) Versiculos
    
if(isset($parts[1])) {
        
$book['verses'] = preg_split('~\s*,|-\s*~'$parts[1]);
    }
    
    
//Hacemos la consulta SQL
           
... 
El resultado es (Génesis 3:1-20; 2:3; 15; Juan 3:16, Mateo 3:20; Jueces 2:2, 3:20; 5; 1 juan 1:19):
Código PHP:
Array
(
    [
name] => Genesis
    
[chapter] => 2
    
[verses] => Array
        (
            [
0] => 3
        
)

)
Array
(
    [
name] => Genesis
    
[chapter] => 15
    
[verses] => Array
        (
        )

)
Array
(
    [
name] => Juan
    
[chapter] => 3
    
[verses] => Array
        (
            [
0] => 16
        
)

)
Array
(
    [
name] => Mateo
    
[chapter] => 3
    
[verses] => Array
        (
            [
0] => 20
        
)

)
Array
(
    [
name] => Jueces
    
[chapter] => 2
    
[verses] => Array
        (
            [
0] => 2
        
)

)
Array
(
    [
name] => Jueces
    
[chapter] => 3
    
[verses] => Array
        (
            [
0] => 20
        
)

)
Array
(
    [
name] => Jueces
    
[chapter] => 5
    
[verses] => Array
        (
        )

)
Array
(
    [
name] => 1 juan
    
[chapter] => 1
    
[verses] => Array
        (
            [
0] => 19
        
)


__________________
http://exegesis-biblica.com/