ccc

Mostrando entradas con la etiqueta Cadenas. Mostrar todas las entradas
Mostrando entradas con la etiqueta Cadenas. Mostrar todas las entradas

Extraer todas las imágenes de una cadena

function extraerSRC($cadena) {
        $arrImg = array();
        preg_match_all('/<img[^>]+>/i',$cadena, $imgTags);
        for ($i = 0; $i < count($imgTags[0]); $i++) {
            preg_match('/src="([^"]+)/i',$imgTags[0][$i], $imgage);
            $arrImg[] = str_ireplace( 'src="', '', $imgage[0]);
        }
return $arrImg;
}


Por ejemplo para cambiar todas las imágenes de una cadena a base64 sería:
function extraerSRC($cadena) {
        $foto = '';
        $arrImg = array();
        preg_match_all('/<img[^>]+>/i',$cadena, $imgTags);
        for ($i = 0; $i < count($imgTags[0]); $i++) {
            preg_match('/src="([^"]+)/i',$imgTags[0][$i], $imgage);
            $arrImg[] = str_ireplace( 'src="', '', $imgage[0]);
        }
        // convertir cada imagen a base64 y reemplazar
        foreach ($arrImg as $clave=>$valor) {
            $path = $valor;
            $type = pathinfo($path, PATHINFO_EXTENSION);
            // $data = file_get_contents($path);
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $path);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
            $data = curl_exec($ch);
            curl_close($ch);
            $ImgBase64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
            $cadena = str_replace($valor, $ImgBase64,$cadena);
        }
        return($cadena);
    }

Detectar si una cadena es un anagrama de otra

function isAnagram($string1, $string2) {
    return count_chars($string1, 1) === count_chars($string2, 1);
}

echo isAnagram('leandro', 'adelnor'); // true

// Otro ejemplo: Generar un anagrama a partir de una cadena
$str = "carlos";
echo count_chars($str,3); // por ejemplo daría: aclors

Obtener de una cadena aquel substring que esté entre los caractéres que le indiques

function firstStringBetween($haystack, $start, $end) {
    return trim(strstr(strstr($haystack, $start), $end, true), $start.$end);
}

echo firstStringBetween('Lo que el viento se llevó (1939) de Victor Fleming', '(', ')'); // 1939

Cadenas: detectar si una cadena termina con una determinada cadena

function endsWith($haystack, $needle) {
    return strrpos($haystack, $needle) === (strlen($haystack) - strlen($needle));
}

echo endsWith('Leandro', 'dro');
echo endsWith('Carlos', 'dro');
echo endsWith('Isidro', 'dro');

Fraccionar una cadena en trozos de la misma longitud

$arr = str_split("En un lugar de la mancha de cuyo nombre no quiero",4);
print_r($arr);

// dará:
[0] => En u
[1] => n lu
[2] => gar
[3] => de l
...

Check que una cadena comience por una determinada palabra o frase

function startsWith($haystack, $needle) {
    return strpos($haystack, $needle) === 0;
}

echo "<br>RES:".startsWith('En un lugar de la Mancha', 'En'); // true
echo "<br>RES:".startsWith('En un lugar de la Mancha', 'En un lugar'); // true
echo "<br>RES:".startsWith('En un lugar de la Mancha', 'lugar'); // false

Generar contraseña aleatoria en PHP

function generar_pw(){
    $cadena = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
    $longitudCadena = strlen($cadena);
    $pass = "";
    $longitudPW = 10;
   
    for($i=1 ; $i<=$longitudPW ; $i++){
       $pos=rand(0,$longitudCadena-1);
        $pass .= substr($cadena,$pos,1);
    }
    return $pass;
}

Para generar una cadena aleatoria de números y letras:
$id_secret = substr(sha1(mt_rand()),17,10); // generar clave 10 digitos de num y letras

Otra forma más fácil de hacerlo es:
function randomString($string_length) {
  $chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
  $randomstring = '';
  for ($i = 0; $i < $string_length; $i++) {
    $randomstring .= $chars{mt_rand(0, strlen($chars) - 1)};
  }
  return $randomstring;
}

Cadenas 20: Cómo extraer una subcadena de una cadena a partir de cierta posición

<?php
$cadena = "en un lugar de la mancha";
$subcadena = substr($cadena, 9, 8);  // de la posición 9 en adelante extrae 8 caracteres
echo $subcadena; // "ar de la"


// Otros ejemplos
$rest = substr("abcdef", 0, 1); // da "a"
$rest = substr("abcdef", 0, -1); // da "abcde"
$rest = substr("abcdef", 2, -1);  // da "cde"
$rest = substr("abcdef", 4, -4);  // da false
$rest = substr("abcdef", -3, -1); // da "de"

Cadenas 19: Cómo pasar por url una cadena que contenga espacios en blanco

<?php
pepe.php?var1=urlencode("el asesoramiento financiero de febrero")
?>

Cadenas 17: Cómo convertir una cadena a minúsculas, mayúsculas o capitalizar

<?php
$cadena = "En un lugar de la Mancha";

echo strtolower($cadena); // en un lugar de la mancha
echo strtoupper($cadena); // EN UN LUGAR DE LA MANCHA

// Capitalizar
$cadena = "CATEDRAL";
$cadena = strtolower($cadena);
$cadena = ucfirst($cadena);
echo $cadena; // Catedral
?>

Cadenas 16: Cómo reemplazar caracteres concretos dentro de una cadena

<?php
$cadena = "el rinoceronte y el murcielago";
$cadena = strtr($cadena, "aeiou", "eioua");
echo "cadena: ".$cadena."<br>"; // da "il ronucirunti y il marcoilegu"
?>


Si tienes alguna duda o problema en PHP, haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible

Cadenas 15: Cómo obtener el contenido de una cadena en orden inverso

<?php
echo strrev("hola"); // da aloh
?>

Si tienes alguna duda o problema en PHP, haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible

Cadenas 14: Cómo obtener la posición de una subcadena dentro de una cadena

$pos = strpos("Busca la palabra dentro de la frase", "palabra");
echo $pos; // daría 9

// Si no la encontrase devolvería FALSE
if (strpos($gran_cadena, "www.") === FALSE)  {
}

Otro ejemplo:
if (strpos($_SERVER["REQUEST_URI"], "aceite-de-oliva") !== FALSE) {
}

Cadenas 13: Cómo obtener una parte del texto a partir de la coincidencia que le indiques

<?php
echo stristr("Madrid es la capital de España", "id"); // id es la capital de España


// Es ideal para recorrer un gran texto buscando una palabra concreta, además hace caso omiso de mayúsculas y minúsculas

while (stristr($gran_texto, $q_buscar)) {
    $subcadena = stristr($gran_texto, $q_buscar);
    echo $subcadena."<br>";
}

?>

Si tienes alguna duda o problema en PHP, haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible

Cadenas 12: Cómo comparar dos cadenas entre sí

<?php
// La forma más habitual es así
if ($cadena1 == $cadena2) { ... }

// Si queremos que no de igual que esté mayúsculas o minúsculas entonces es así:
$cadena1 = "ManzaNa";
$cadena2 = "manzana";
if (strcmp($cadena1,$cadena2)>0) {
  echo "Son distintas";
}

// Para obviar las mayúsculas y minúsculas
if (strcasecmp($cadena1,$cadena2)>0) {
  echo "Son iguales";
}
?>

Si tienes alguna duda o problema en PHP, haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible

Cadenas 11: Quitar de una cadena todas las etiquetas HTML que contenga

<?php
$cadena = "<p align='center'><b>Hola mundo</b></p>";
$cadena = strip_tags($cadena);  // quedaría solo Hola mundo
?>

Si tienes alguna duda o problema en PHP, haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible

Cadenas 10: Cómo reemplazar el contenido de una cadena por otro

<?php
$cadena = "verde que te quiero verde";
$cadena = str_replace("verde", "rojo", $cadena);

echo $cadena;  // daría rojo que te quiero rojo
-----------------------------------------------------
// Otro ejemplo
$cadena = str_replace(Chr(13),"<br>",$cadena);  // reemplaza los intros que haya por <br>-------------------------------------------------------------
// Hacer que SOLO reemplace la primera ocurrencia que encuentre
$cad = 'uno, dos, uno, dos, uno, dos<hr>'; 
$s = 'dos, '; 
$r = ''; 
$t1 = preg_replace('/'.$s.'/', $r, $cad, 1); 
echo $t1; 
echo '<hr>';
-------------------------------------------------------------
// Otro ejemplo
$cad = '../../../cinco.png<hr>'; 
$s = '..\/'; 
$r = ''; 
$t1 = preg_replace('/'.$s.'/', $r, $cad, 1); 
echo $t1; 

--------------------------------------------------------
EJEMPLO:
$str = str_replace(array("<a>","</a>","<A>","</A>"), array("","","",""), $str);

Cadenas 9: Cómo repetir una misma cadena varias veces

<?php
echo str_repeat("hola",5); // lo escribe 5 veces seguidas
?>

Si tienes alguna duda o problema en PHP, haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible

Cadenas 8: Cómo obtener el tamaño de una cadena

<?php
$cadena = "hola mundo";
echo "El tamaño de la cadena es ".strlen($cadena);
?>


Si tienes alguna duda o problema en PHP, haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible

Cadenas 7: Cómo eliminar los espacios en blanco que haya delante de una cadena

<?php
$cadena="            hola mundo";
$cadena = ltrim($cadena); // da hola mundo


// También existe trim() que elimina los espacios en blanco que haya al principio y al final de una cadena
$cadena="            hola mundo          ";
$cadena = trim($cadena);  // hola mundo
?>