Dividir texto em strings de 25 palavras usando PHP

  • Autor Autor grunst3r
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
grunst3r

grunst3r

Beta
Verificación en dos pasos activada
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Una funcion que divida el texto dependiendo de la cantidad de caracteres.

Tengo un texto de 50 caracteres, y pues, le digo a la funcion dividemelo en strings de 25 palabras, tomando en cuanta los espacios…
esto nos serveria como para hacer un script de forma de poesia …
Aqui los dejo la funcion donde hace la operacion:

PHP:
function cut_sub($text, $len){
$text_len = strlen($text);
if($text_len > $len){
$str_split = str_split($text, $len);
$str_split = str_split($str_split[0]);
$str_split = array_reverse($str_split);
$num = $len - array_search(' ', $str_split);
$string = substr($text, 0, $num);
$new_text = substr($text, $num);
}else{
$string = $text;
$new_text = "";
}
return array('string' => $string, 'new_text' => $new_text);
} 

function cut_text($text, $len){
$str_split = str_split($text);
$data = cut_sub($text, $len);
$res[] = $data['string'];
$new_text = $data['new_text'];
if(!empty($data['new_text'])){
foreach($str_split as $value){
$data = cut_sub($new_text, $len);
$res[] = $data['string'];
$new_text = $data['new_text'];
if(empty($data['new_text'])){
break;
}
}
}
return $res;
}
Y para ver que tan bueno es el resultado veremos este ejemplo.
PHP:
$text = 'Mientras me hablabas y yo te miraba, se detuvo el tiempo en  medio instante: el amor me llamaba y yo le obedecía. Mientras me  susurrabas y yo te amaba, se alzaron los sentimientos, mandó tu voz, el  cielo se hizo visible en tus ojos, y yo pronuncié el querer en tus  labios.';
 $array = cut_text($text, 38);
 print_r($array);
el resultado saldria así.
PHP:
Array
(
[0] => Mientras me hablabas y yo te miraba,
[1] => se detuvo el tiempo en medio
[2] => instante: el amor me llamaba y yo le
[3] => obedecía. Mientras me susurrabas y yo
[4] => te amaba, se alzaron los
[5] => sentimientos, mandó tu voz, el cielo
[6] => se hizo visible en tus ojos, y yo
[7] => pronuncié el querer en tus labios.
)
Espero que les guste el script, puede que lo mejoren o lo usen de varias maneras ... 😉
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
esta bueno tu script lo usare en una web de poesias que tengo:shakehands:
 
te complicas mucho jeje
PHP:
$text = "Split string in words"; 
$fromWord = 0;
$toWord = 25;
$wordsArray = explode(" ", $text);
for($i=$fromWord;$i>$toWord;$i++) {
      print_r($wordsArray[$i]);
}
 
Voltar
Topo