10 fragmentos de codigo para trabajar con cadenas

AddThis Social Bookmark Button

logo_php.jpgRecorriendo la web en la busqueda de una nota nueva para el sitio, encuentro algo interesante sondeando por el twitter, un articulo donde nos muestran cosas interesantes para trabajar con cadenas, espero que alguna les sirva, porque yo ya le heche ojo a unas cuantas k podrian ayudar en el mejoramiento de mis apps.

Comenzemos :

Como remover automaticamente tags de una cadena ?

$text = strip_tags($input, "");

Obtener el contenido entre el inicio y el final de una cadena

function GetBetween($content,$start,$end){

    $r = explode($start, $content);
    if (isset($r[1])){
        $r = explode($end, $r[1]);
        return $r[0];
    }
    return '';
}
Convertir urls a hyperlinks
url = "Osoluche (http://mirrorlinux.net)";
$url = preg_replace("#http://([A-z0-9./-]+)#", '<a href="$1">$0</a>', $url);


Reducir cadena a 140 caracteres (esta ta buena)
function split_to_chunks($to,$text){
    $total_length = (140 - strlen($to));
    $text_arr = explode(" ",$text);
    $i=0;
    $message[0]="";
    foreach ($text_arr as $word){
        if ( strlen($message[$i] . $word . ' ') <= $total_length ){
            if ($text_arr[count($text_arr)-1] == $word){
                $message[$i] .= $word;
            } else {
                $message[$i] .= $word . ' ';
            }
        } else {
            $i++;
            if ($text_arr[count($text_arr)-1] == $word){
                $message[$i] = $word;
            } else {
                $message[$i] = $word . ' ';
            }
        }
    }
    return $message;
}

Remover urls de la cadena
$string = preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i', '', $string);

Conviriendo cadenas a slugs (links permanentes)
function slug($str){
    $str = strtolower(trim($str));
    $str = preg_replace('/[^a-z0-9-]/', '-', $str);
    $str = preg_replace('/-+/', "-", $str);
    return $str;
}

Parsear archivos CVS

$fh = fopen("contacts.csv", "r");
while($line = fgetcsv($fh, 1000, ",")) {
    echo "Contact: {$line[1]}";
}

Buscar una cadena en otra cadena
function contains($str, $content, $ignorecase=true){
    if ($ignorecase){
        $str = strtolower($str);
        $content = strtolower($content);
    }
    return strpos($content,$str) ? true : false;
}

La anterior tambien la podemos aplicar con strstr o con ereg, este comentario es extra :P


Comprobar si la cadena comienza con una frase en especial
function String_Begins_With($needle, $haystack {
    return (substr($haystack, 0, strlen($needle))==$needle);
}

Recuperando el correo de una cadena

function extract_emails($str){

    // This regular expression extracts all emails from a string:
    $regexp = '/([a-z0-9_\.\-])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,4})+/i';
    preg_match_all($regexp, $str, $m);
 
    return isset($m[0]) ? $m[0] : array();
}
 
$test_string = 'This is a test string...
 
        Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
 
        Test different formats:
        Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.;
        <a href="Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.">foobar</a>
        <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.>
 
        strange formats:
        Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
        test6[at]example.org
        Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
        test8@ example.org
        test9@!foo!.org
 
        foobar
';
 
print_r(extract_emails($test_string));

Todas las funciones son una recopilacion de varias paginas mas, de plano un copy paste, que para quienes ya estemos mas integrados en el  PHP, creo que solo nos basta con masticarlas un ratito.

Si tienen dudas dejen el comentario, podriamos explicarlas paso a paso.
salu2


Leave your comments

0
  • No comments found