Allied Modders en español

Versión completa: Stock Explode (tipo php)
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Es algo poco util pero quizas le sirva a muchos.

  • Breve Descripcion
Al igual que el explode de php, separa cadenas de textos mediante un delimitador

Php.net escribió:Devuelve un array de string, siendo cada uno un substring del parámetro string formado por la división realizada por los delimitadores indicados en el parámetro delimiter.

Código PHP:
stock explode(const string[], const delimiter[] = " "output[][], array_len ,out_lent)
{
    new 
temp[128]
    
copy(tempcharsmax(temp), string)
    for(new 
<= array_len i++)
    {
        
split(tempoutput[i], out_lenttempcharsmax(temp), delimiter)
    }

  • Uso
Código:
delimiter
    El string delimitador.
*string
    El string de entrada.
*output
    Array Bidimiensional de salida
*array_len
    Tamaño del array bidimensional
*out_lent
    Tamaño del string de salida
  • Prueba
Código PHP:
#include <amxmodx>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"


public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    new array[
4][32]
    
explode("el -|- we -|- bi -|- to"" -|- ", array, charsmax(array),charsmax(array[]))
    
server_print("%s", array[0])
    
server_print("%s", array[1])
    
server_print("%s", array[2])
    
server_print("%s", array[3])
}
stock explode(const string[], const delimiter[] = " "output[][], array_len ,out_lent)
{
    new 
temp[128]
    
copy(tempcharsmax(temp), string)
    for(new 
<= array_len i++)
    {
        
split(tempoutput[i], out_lenttempcharsmax(temp), delimiter)
    }

PD: se puede evitar el temp[128] pero el string original se quedara vacio
no es la gra webona, lo taba usando para medio hacer esto https://amxmodx-es.com/Thread-Unixtime-f...rchivo-ini

Me parece interesante el aporte, sobre todo por que no se limita a un caracter el delimitador Proud.

Muy buen aporte Sugi.

OFF: Por cierto, tengo curiosidad sobre el por qué llaman a este tipo de funciones como "explode..."?, lo digo por el significado mismo de la palabra.
no entendí nada como de costumbre jejeje
Muy bueno!
(25/01/2018, 02:20 AM)OsweRRR escribió: [ -> ]no entendí nada como de costumbre jejeje
pacman
hace lo mismo que esto
Código PHP:
$string "el -|- we -|- bi -|- to"
print_r(explode(" -|- "$string)); 

salida
Código:
Array
(
    [0] => el
    [1] => we
    [2] => bi
    [3] => to
)
Me gusta me gusta