Código de PHP - Determinar si una posición dentro de una cadena esta entre las etiquetas <span>

Imágen de perfil
Val: 2.473
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Determinar si una posición dentro de una cadena esta entre las etiquetas <span>gráfica de visualizaciones


PHP

Publicado el 14 de Enero del 2020 por Joel (123 códigos)
736 visualizaciones desde el 14 de Enero del 2020
Función que determina si una posición dada dentro de una cadena se encuentra entre los tags <span..> y </span>.

1
2
3
4
5
6
7
8
9
10
11
$cadena="";
echo positionIsBetweenSpan($cadena, 1); // false
$cadena="la casa azul";
echo positionIsBetweenSpan($cadena, 5); // false
$cadena="la <span class='b'>casa azul <span class='c'>esta</span> entre dos casas</span> rojas <span> de la calle";
echo positionIsBetweenSpan($cadena, 1); // false
echo positionIsBetweenSpan($cadena, 25); // true
echo positionIsBetweenSpan($cadena, 48); // true
echo positionIsBetweenSpan($cadena, 70); // true
echo positionIsBetweenSpan($cadena, 85); // false
echo positionIsBetweenSpan($cadena, 100); // true

Versión 1.0

Publicado el 14 de Enero del 2020gráfica de visualizaciones de la versión: Versión 1.0
737 visualizaciones desde el 14 de Enero del 2020
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

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
/**
 * Function to define if position of string is between <span...></span>
 *
 * @param string  $string
 * @param integer $pos
 *
 * @return boolean
 */
function positionIsBetweenSpan($string, $pos)
{
    $find=preg_match_all('/<span.*?>|<\/span>/', $string, $matches, PREG_OFFSET_CAPTURE);
    $result=[""];
    foreach ($matches[0] as $el) {
        if ($el[1]>=$pos) {
            break;
        }
        if (substr($el[0], 0, 2)=="<s") { // open
            array_push($result, "<");
        } else if ($result==[]) {
            array_push($result, ">");
        } else { // close
            if ($result[count($result)-1]=="<") {
                array_pop($result);
            } else {
                array_push($result, ">");
            }
        }
    }
    $last=array_pop($result);
    return ($last=="<") ? true : false;
}



Comentarios sobre la versión: Versión 1.0 (0)


No hay comentarios
 

Comentar la versión: Versión 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5814