Foros del Web » Programando para Internet » PHP »

Contabilizar la posicion de los caracteres

Estas en el tema de Contabilizar la posicion de los caracteres en el foro de PHP en Foros del Web. Hola a todos. Tengo un texto, y necesitaría saber la primera posición de una determinada letra, y la última posición. La primera posición la consigo ...
  #1 (permalink)  
Antiguo 28/09/2007, 19:06
 
Fecha de Ingreso: enero-2007
Mensajes: 158
Antigüedad: 17 años, 3 meses
Puntos: 2
Contabilizar la posicion de los caracteres

Hola a todos. Tengo un texto, y necesitaría saber la primera posición de una determinada letra, y la última posición.

La primera posición la consigo mediante:

Código PHP:
$id  a;
$my_text "eweweaaacAsss";
$first_position =strpos($my_text ,substr($id,0)); //Primera posicion donde empieza 
pero como podría conseguir todas las posiciones donde aparece la letra "a"?
Sobretodo me interesa saber cuál es la posición de la última letra "a".

Gracias de antemano.

Un saludo
  #2 (permalink)  
Antiguo 28/09/2007, 20:58
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Contabilizar la posicion de los caracteres

Para buscar el último, podés dar vuelta la cadena y buscar el primero =)
Si querés buscar todas las posiciones es más complicado, pero no imposible... te dejo el código

Código PHP:
<?php
$letra 
'l';
$texto 'lorem ipsum dolor sit amet, consectetuer adipiscing elit. aenean non risus. etiam tempor ultricies risus. nulla est massa, dignissim id, malesuada vel, mattis a, dui. donec aliquam, purus porttitor ultrices semper, sem lacus dignissim sapien, et commodo justo dolor cursus sapien. sed nunc ante, laoreet in, ornare convallis, sodales ac, enim. proin volutpat enim non sem. phasellus id lectus sed elit tempus lobortis. cras tincidunt. lorem ipsum dolor sit amet, consectetuer adipiscing elit. cras quis augue. phasellus purus';
echo 
strpos($texto,$letra);
echo 
"\n";
echo 
strlen($texto) - strpos(strrev($texto),$letra) - strlen($letra);

// Cada unas de las posiciones
$veces substr_count($texto,$letra);
$posiciones = array(-1);
for (
$num 0$num $veces$num++) {
    
$posiciones[] = strpos($texto,$letra,end($posiciones) + 1);
}
array_shift($posiciones);
var_dump($posiciones);
?>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:53.