{"id":207,"date":"2016-02-11T13:42:15","date_gmt":"2016-02-11T13:42:15","guid":{"rendered":"http:\/\/www.josejavierfm.es\/blog\/?p=207"},"modified":"2016-02-15T09:40:05","modified_gmt":"2016-02-15T09:40:05","slug":"cortar-un-texto-para-mandarlo-por-sms-sin-cortar-palabras","status":"publish","type":"post","link":"https:\/\/www.josejavierfm.es\/blog\/2016\/02\/11\/cortar-un-texto-para-mandarlo-por-sms-sin-cortar-palabras\/","title":{"rendered":"Cortar un texto para mandarlo por SMS sin cortar palabras"},"content":{"rendered":"<p>Vamos a preparar un script que nos trocea un texto en multiples SMS sin cortar palabras y a\u00f1adiendo al final un contador de mensajes.<\/p>\n<pre>function ArrayTextosSMS($texto){\r\n\t\t$frases=array();\r\n\t\t$palabras=explode(\" \",$texto);\r\n\t\t$frase=\"\";\r\n\t\t$numpalabras=count($palabras);\r\n\t\tforeach($palabras as $palabra){\r\n\t\t\t$fraseadd=$frase.\" \".$palabra;\r\n\t\t\tif (strlen($fraseadd)&gt;150){\r\n\t\t\t\tarray_push($frases,trim($frase));\r\n\t\t\t\t$frase=$palabra;\r\n\t\t\t}else{\r\n\t\t\t\t$frase=$frase.\" \".$palabra;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif ($frase!=\"\"){\r\n\t\t\tarray_push($frases,trim($frase));\r\n\t\t}\r\n\t\t$numfrases=count($frases);\r\n\t\t\/\/a\u00f1adimos un contador\r\n\t\tif ($numfrases&gt;1){\r\n\t\t\tfor($i=0;$i&lt;$numfrases;$i++){\r\n\t\t\t\t\t$j=$i+1;\r\n\t\t\t\t$frases[$i]=$frases[$i].\" ($j\/$numfrases)\";\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn $frases;\r\n\t\t\r\n\t}\r\n<\/pre>\n<p>el ejemplo es:<\/p>\n<pre>$texto=\"Este es un texto muy largo que queremos mandar mediante SMS, para ello hemos creado un script que nos lo trocea en partes de 150 caracteres y ademas le a\u00f1ade un contador de numero de mensajes. Ahora hay que encontrar un proveedor que nos permita mandar los sms, a ser posible de manera gratuita, pero todavia no he dado con ello. Si algun dia lo encuentro, lo compartir\u00e9 en este mismo hilo\";\r\n\r\nprint_r(ArrayTextosSMS($texto));die;\r\n<\/pre>\n<p>Que nos da como resultado:<\/p>\n<pre>Array\r\n(\r\n    [0] =&gt; Este es un texto muy largo que queremos mandar mediante SMS, para ello hemos creado un script que nos lo trocea en partes de 150 caracteres y ademas (1\/3)\r\n    [1] =&gt; le a\u00f1ade un contador de numero de mensajes. Ahora hay que encontrar un proveedor que nos permita mandar los sms, a ser posible de manera gratuita, (2\/3)\r\n    [2] =&gt; pero todav\u00eda no he dado con ello. Si alg\u00fan d\u00eda lo encuentro, lo compartir\u00e9 en este mismo hilo (3\/3)\r\n)\r\n<\/pre>\n<p>El c\u00f3digo esta disponible tambien en <a href=\"http:\/\/www.josejavierfm.es\/blog\/2016\/02\/15\/cortar-un-texto-para-mandarlo-por-sms-sin-cortar-palabras-java\/\" target=\"_blank\">JAVA<\/a><\/p>\n\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=josejavierfm\" class=\"twitter-share-button\">Twittear<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Vamos a preparar un script que nos trocea un texto en multiples SMS sin cortar palabras y a\u00f1adiendo al final un contador de mensajes. function ArrayTextosSMS($texto){ $frases=array(); $palabras=explode(\u00bb \u00ab,$texto); $frase=\u00bb\u00bb; $numpalabras=count($palabras); foreach($palabras as $palabra){ $fraseadd=$frase.\u00bb \u00ab.$palabra; if (strlen($fraseadd)&gt;150){ array_push($frases,trim($frase)); $frase=$palabra; }else{ $frase=$frase.\u00bb \u00ab.$palabra; } } if ($frase!=\u00bb\u00bb){ array_push($frases,trim($frase)); } $numfrases=count($frases); \/\/a\u00f1adimos un contador if ($numfrases&gt;1){ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[15],"tags":[],"_links":{"self":[{"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/posts\/207"}],"collection":[{"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/comments?post=207"}],"version-history":[{"count":2,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/posts\/207\/revisions"}],"predecessor-version":[{"id":212,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/posts\/207\/revisions\/212"}],"wp:attachment":[{"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/media?parent=207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/categories?post=207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/tags?post=207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}