J2V

Informática & Tecnologia

Autor: Jefferson Ventura Page 3 of 5

Android: Enviando mensagem via Whatsapp

Caso você queira enviar uma mensagem do seu app para o Whatsapp, uma das soluções é utilizar o código abaixo.

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Mensagem via Whatsapp! J2V Informática");
sendIntent.setType("text/plain");
sendIntent.setPackage("com.whatsapp");
startActivity(Intent.createChooser(sendIntent, ""));
Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, "Mensagem via Whatsapp! J2V Informática"); sendIntent.setType("text/plain"); sendIntent.setPackage("com.whatsapp"); startActivity(Intent.createChooser(sendIntent, ""));
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Mensagem via Whatsapp! J2V Informática");
sendIntent.setType("text/plain");
sendIntent.setPackage("com.whatsapp");
startActivity(Intent.createChooser(sendIntent, ""));

Será aberto a tela de contatos do Whatsapp para que você selecione o usuário ao qual deseja enviar a mensagem.

Android: Restaurando Backups

No post anterior vimos como gerar backup, agora vamos ver como restaurá-lo. Segue um exemplo de código para restauração do banco.

public void restaurarBackup() {
try {
gerarBackup(true);
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "//data//br.com.j2v.app.nomeAplicativo//databases//dbNAME";
String backupDBPath = "bkps/dbNAME.db"; //-- Caminho do arquivo de backup a ser restaurado
File backupDB = new File(data, currentDBPath);
File currentDB = new File(sd, backupDBPath);
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
Toast.makeText(getApplicationContext(), "Backup restaurado com sucesso!", Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
Log.e("J2V", e.toString());
Toast.makeText(getApplicationContext(), "Erro ao tentar restaurar backup!", Toast.LENGTH_SHORT).show();
}
}
public void restaurarBackup() { try { gerarBackup(true); File sd = Environment.getExternalStorageDirectory(); File data = Environment.getDataDirectory(); if (sd.canWrite()) { String currentDBPath = "//data//br.com.j2v.app.nomeAplicativo//databases//dbNAME"; String backupDBPath = "bkps/dbNAME.db"; //-- Caminho do arquivo de backup a ser restaurado File backupDB = new File(data, currentDBPath); File currentDB = new File(sd, backupDBPath); FileChannel src = new FileInputStream(currentDB).getChannel(); FileChannel dst = new FileOutputStream(backupDB).getChannel(); dst.transferFrom(src, 0, src.size()); src.close(); dst.close(); Toast.makeText(getApplicationContext(), "Backup restaurado com sucesso!", Toast.LENGTH_LONG).show(); } } catch (Exception e) { Log.e("J2V", e.toString()); Toast.makeText(getApplicationContext(), "Erro ao tentar restaurar backup!", Toast.LENGTH_SHORT).show(); } }
public void restaurarBackup() {
	try {
		gerarBackup(true);
		File sd = Environment.getExternalStorageDirectory();
		File data = Environment.getDataDirectory();
		if (sd.canWrite()) {
			String currentDBPath = "//data//br.com.j2v.app.nomeAplicativo//databases//dbNAME";
			String backupDBPath = "bkps/dbNAME.db"; //-- Caminho do arquivo de backup a ser restaurado
			File backupDB = new File(data, currentDBPath);
			File currentDB = new File(sd, backupDBPath);

			FileChannel src = new FileInputStream(currentDB).getChannel();
			FileChannel dst = new FileOutputStream(backupDB).getChannel();
			dst.transferFrom(src, 0, src.size());
			src.close();
			dst.close();
			Toast.makeText(getApplicationContext(), "Backup restaurado com sucesso!", Toast.LENGTH_LONG).show();
		}
	} catch (Exception e) {
		Log.e("J2V", e.toString());
		Toast.makeText(getApplicationContext(), "Erro ao tentar restaurar backup!", Toast.LENGTH_SHORT).show();
	}
}

 

Android: Gerando Backups

Uma das formas de se gerar backup do banco de dados do seu aplicativo é utilizando os comandos abaixo.

public void gerarBackup(Boolean silent) {
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
createDirIfNotExists("/bkps");
String currentDBPath = "//data//br.com.j2v.app.nomeAplicativo//databases//dbNAME";
String backupDBPath = "bkps/dbNAME-" + getDateTime("log") + ".db";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
if (!silent) {
Toast.makeText(getBaseContext(), "Backup gerado com sucesso!\r\nCaminho: " + backupDBPath, Toast.LENGTH_LONG).show();
}
}
} catch (Exception e) {
Log.e("J2V", e.toString());
Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
}
}
public void gerarBackup(Boolean silent) { try { File sd = Environment.getExternalStorageDirectory(); File data = Environment.getDataDirectory(); if (sd.canWrite()) { createDirIfNotExists("/bkps"); String currentDBPath = "//data//br.com.j2v.app.nomeAplicativo//databases//dbNAME"; String backupDBPath = "bkps/dbNAME-" + getDateTime("log") + ".db"; File currentDB = new File(data, currentDBPath); File backupDB = new File(sd, backupDBPath); FileChannel src = new FileInputStream(currentDB).getChannel(); FileChannel dst = new FileOutputStream(backupDB).getChannel(); dst.transferFrom(src, 0, src.size()); src.close(); dst.close(); if (!silent) { Toast.makeText(getBaseContext(), "Backup gerado com sucesso!\r\nCaminho: " + backupDBPath, Toast.LENGTH_LONG).show(); } } } catch (Exception e) { Log.e("J2V", e.toString()); Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show(); } }
public void gerarBackup(Boolean silent) {
	try {
		File sd = Environment.getExternalStorageDirectory();
		File data = Environment.getDataDirectory();

		if (sd.canWrite()) {

			createDirIfNotExists("/bkps");

			String currentDBPath = "//data//br.com.j2v.app.nomeAplicativo//databases//dbNAME";
			String backupDBPath = "bkps/dbNAME-" + getDateTime("log") + ".db";
			File currentDB = new File(data, currentDBPath);
			File backupDB = new File(sd, backupDBPath);

			FileChannel src = new FileInputStream(currentDB).getChannel();
			FileChannel dst = new FileOutputStream(backupDB).getChannel();
			dst.transferFrom(src, 0, src.size());
			src.close();
			dst.close();
			if (!silent) {
				Toast.makeText(getBaseContext(), "Backup gerado com sucesso!\r\nCaminho: " + backupDBPath, Toast.LENGTH_LONG).show();
			}
		}
	} catch (Exception e) {
		Log.e("J2V", e.toString());
		Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
	}
}

 

Android: Gerando Relatório PDF

Umas das formas de se gerar PDF em JAVA para Android é utilizando o código abaixo. Em breve vou detalhar passo a passo dos comandos. Por enquanto fica de anotação.

public void gerarPDF() {
Document document = new Document(PageSize.A4);
document.setPageSize(PageSize.A4.rotate());
String NOME_ARQUIVO = "Relatorio.pdf";
String SD_CARD = Environment.getExternalStorageDirectory().toString();
File pdfDir = new File(SD_CARD + File.separator + "J2V");
if (!pdfDir.exists()) {
pdfDir.mkdir();
}
File pdfSubDir = new File(pdfDir.getPath() + File.separator + "relatorios");
if (!pdfSubDir.exists()) {
pdfSubDir.mkdir();
}
String NOME_COMPLETO = pdfSubDir.getPath() + File.separator + NOME_ARQUIVO;
File outputFile = new File(NOME_COMPLETO);
if (outputFile.exists()) {
outputFile.delete();
}
try {
PdfWriter pdfWriter = PdfWriter.getInstance(document, new FileOutputStream(NOME_COMPLETO));
document.open();
document.addAuthor("Jefferson Ventura");
document.addCreator("J2V Informática");
document.addSubject("Relatorio J2V");
document.addCreationDate();
document.addTitle("Relatorio J2V");
XMLWorkerHelper workerHelper = XMLWorkerHelper.getInstance();
String htmlToPDF = "<html><head></head><body>" +
"<h1> Relatório J2V Informática" +
"</body></html>";
workerHelper.parseXHtml(pdfWriter, document, new StringReader(htmlToPDF));
document.close();
Toast.makeText(this, "Relatório Gerado com Sucesso!", Toast.LENGTH_SHORT).show();
exibirRelatorio(NOME_COMPLETO, this);
} catch (DocumentException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void gerarPDF() { Document document = new Document(PageSize.A4); document.setPageSize(PageSize.A4.rotate()); String NOME_ARQUIVO = "Relatorio.pdf"; String SD_CARD = Environment.getExternalStorageDirectory().toString(); File pdfDir = new File(SD_CARD + File.separator + "J2V"); if (!pdfDir.exists()) { pdfDir.mkdir(); } File pdfSubDir = new File(pdfDir.getPath() + File.separator + "relatorios"); if (!pdfSubDir.exists()) { pdfSubDir.mkdir(); } String NOME_COMPLETO = pdfSubDir.getPath() + File.separator + NOME_ARQUIVO; File outputFile = new File(NOME_COMPLETO); if (outputFile.exists()) { outputFile.delete(); } try { PdfWriter pdfWriter = PdfWriter.getInstance(document, new FileOutputStream(NOME_COMPLETO)); document.open(); document.addAuthor("Jefferson Ventura"); document.addCreator("J2V Informática"); document.addSubject("Relatorio J2V"); document.addCreationDate(); document.addTitle("Relatorio J2V"); XMLWorkerHelper workerHelper = XMLWorkerHelper.getInstance(); String htmlToPDF = "<html><head></head><body>" + "<h1> Relatório J2V Informática" + "</body></html>"; workerHelper.parseXHtml(pdfWriter, document, new StringReader(htmlToPDF)); document.close(); Toast.makeText(this, "Relatório Gerado com Sucesso!", Toast.LENGTH_SHORT).show(); exibirRelatorio(NOME_COMPLETO, this); } catch (DocumentException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
public void gerarPDF() {
	Document document = new Document(PageSize.A4);
	document.setPageSize(PageSize.A4.rotate());
	String NOME_ARQUIVO = "Relatorio.pdf";
	String SD_CARD = Environment.getExternalStorageDirectory().toString();
	File pdfDir = new File(SD_CARD + File.separator + "J2V");

	if (!pdfDir.exists()) {
		pdfDir.mkdir();
	}

	File pdfSubDir = new File(pdfDir.getPath() + File.separator + "relatorios");

	if (!pdfSubDir.exists()) {
		pdfSubDir.mkdir();
	}

	String NOME_COMPLETO = pdfSubDir.getPath()  + File.separator + NOME_ARQUIVO;

	File outputFile = new File(NOME_COMPLETO);

	if (outputFile.exists()) {
		outputFile.delete();
	}

	try {
		PdfWriter pdfWriter = PdfWriter.getInstance(document, new FileOutputStream(NOME_COMPLETO));

		document.open();
		document.addAuthor("Jefferson Ventura");
		document.addCreator("J2V Informática");
		document.addSubject("Relatorio J2V");
		document.addCreationDate();
		document.addTitle("Relatorio J2V");

		XMLWorkerHelper workerHelper = XMLWorkerHelper.getInstance();


		String htmlToPDF = "<html><head></head><body>" +
				"<h1> Relatório J2V Informática" +
				"</body></html>";

		workerHelper.parseXHtml(pdfWriter, document, new StringReader(htmlToPDF));
		document.close();

		Toast.makeText(this, "Relatório Gerado com Sucesso!", Toast.LENGTH_SHORT).show();

		exibirRelatorio(NOME_COMPLETO, this);

	} catch (DocumentException e) {
		e.printStackTrace();
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	}

}

P.S: Só lembrando que para gerar PDF utilizando os comandos acima vamos precisar importar para nosso diretório libs os seguintes arquivos: itextg-5.5.8 e xmlworker-5.5.6

Android: Evitar que o teclado fique sobre as EditText

Quando você criar uma activity que tenha campos editáveis pelo usuário utilizando o teclado, é recomendável você utilizar essa dica para evitar que o teclado fique sobre o campo e o usuário perca a visão de seu conteúdo, do que esta sendo digitado.

<activity
android:name=".activityname"
android:label="@string/app_name"
android:windowSoftInputMode="adjustPan|adjustResize" >
</activity>
<activity android:name=".activityname" android:label="@string/app_name" android:windowSoftInputMode="adjustPan|adjustResize" > </activity>
<activity
	android:name=".activityname"
	android:label="@string/app_name"
	android:windowSoftInputMode="adjustPan|adjustResize" >
</activity>

Linha 4:
android:windowSoftInputMode="adjustPan|adjustResize"
android:windowSoftInputMode="adjustPan|adjustResize"
android:windowSoftInputMode="adjustPan|adjustResize"

Android: Utilizando o recurso TextToSpeech

Caso queira utilizar o recurso de reprodução/leitura de textos no Android, uma das soluções é você utilizar o código abaixo.

//-- Crie essa propriedade/atributo/variavel na sua classe
private TextToSpeech engine;
//-- Na função onCreate() coloque o código abaixo
engine = new TextToSpeech(this, this);
//-- Sua classe deve implementar TextToSpeech.OnInitListener
//-- Será criado a função abaixo ou crie você mesmo
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
engine.setLanguage(Locale.getDefault());
engine.setPitch((float) 1);
engine.setSpeechRate((float) 1);
}
}
//-- Agora só executar o código abaixo com o texto a ser reproduzido
engine.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);
//-- Crie essa propriedade/atributo/variavel na sua classe private TextToSpeech engine; //-- Na função onCreate() coloque o código abaixo engine = new TextToSpeech(this, this); //-- Sua classe deve implementar TextToSpeech.OnInitListener //-- Será criado a função abaixo ou crie você mesmo @Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { engine.setLanguage(Locale.getDefault()); engine.setPitch((float) 1); engine.setSpeechRate((float) 1); } } //-- Agora só executar o código abaixo com o texto a ser reproduzido engine.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);
//-- Crie essa propriedade/atributo/variavel na sua classe
private TextToSpeech engine;

//-- Na função onCreate() coloque o código abaixo
engine = new TextToSpeech(this, this);

//-- Sua classe deve implementar TextToSpeech.OnInitListener

//-- Será criado a função abaixo ou crie você mesmo
@Override
public void onInit(int status) {
    if (status == TextToSpeech.SUCCESS) {
        engine.setLanguage(Locale.getDefault());
        engine.setPitch((float) 1);
        engine.setSpeechRate((float) 1);
    }
}

//-- Agora só executar o código abaixo com o texto a ser reproduzido
engine.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);

Você pode criar uma função para a reprodução dos textos, como no exemplo abaixo:
public void speakText(String text) {
engine.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);
}
public void speakText(String text) { engine.speak(text, TextToSpeech.QUEUE_FLUSH, null, null); }
public void speakText(String text) {
    engine.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);
}

Agora basta utilizar a função acima para reprodução dos textos:
speakText("Esse é um exemplo da J2V Informática");
speakText("Esse é um exemplo da J2V Informática");
speakText("Esse é um exemplo da J2V Informática");

Android: Criando uma Caixa de Diálogo

Uma das formas de se criar uma Caixa de Diálogo no Android é executando o seguinte código abaixo.

AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setMessage("Teste caixa de dialogo! J2V Informática!");
dialog.setNeutralButton("OK", null); //-- Segundo parâmetro função de callBack
dialog.show();
AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setMessage("Teste caixa de dialogo! J2V Informática!"); dialog.setNeutralButton("OK", null); //-- Segundo parâmetro função de callBack dialog.show();
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setMessage("Teste caixa de dialogo! J2V Informática!");
dialog.setNeutralButton("OK", null); //-- Segundo parâmetro função de callBack
dialog.show();

Exemplo com a passagem de função de callback:

dialog.setNeutralButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//-- Função ou comandos de callback
}
});
dialog.setNeutralButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //-- Função ou comandos de callback } });
dialog.setNeutralButton("OK", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        //-- Função ou comandos de callback
    }
});

Exemplo:

AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setMessage("Deseja realmente excluir o registro?");
dialog.setPositiveButton("Sim", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
excluirRegistro(idRegistro);
}
});
dialog.show();
AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setMessage("Deseja realmente excluir o registro?"); dialog.setPositiveButton("Sim", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { excluirRegistro(idRegistro); } }); dialog.show();
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setMessage("Deseja realmente excluir o registro?");
dialog.setPositiveButton("Sim", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
         excluirRegistro(idRegistro);
    }
});
dialog.show();

Android: Criando um Timer para execução após X Segundos

Caso você queira executar um trecho de código, chamar uma função, etc, após determinado tempo, você pode criar um Timer. Segue abaixo uma das soluções.

new Timer().schedule(new TimerTask() {
@Override
public void run() {
Log.v("J2V", "Executou após 2 segundos");
}
}, 2000);
new Timer().schedule(new TimerTask() { @Override public void run() { Log.v("J2V", "Executou após 2 segundos"); } }, 2000);
new Timer().schedule(new TimerTask() {
    @Override
    public void run() {
         Log.v("J2V", "Executou após 2 segundos");
    }
}, 2000);

Android: Capturando Data e Hora do Sistema

Segue abaixo uma das formas de capturar a Data e Hora do sistema Android.

SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = new Date();
String dataHora = dateFormat.format(date);
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); Date date = new Date(); String dataHora = dateFormat.format(date);
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = new Date();

String dataHora = dateFormat.format(date);

Toast.makeText(this, dataHora, Toast.LENGTH_SHORT).show();
/* Saída: 13/01/2016 17:32:15 */
Toast.makeText(this, dataHora, Toast.LENGTH_SHORT).show(); /* Saída: 13/01/2016 17:32:15 */
Toast.makeText(this, dataHora, Toast.LENGTH_SHORT).show();
/* Saída: 13/01/2016 17:32:15 */

Como já deve ter percebido, você pode passar o formato/parâmetro de quais informações você deseja capturar, alterando apenas o parâmetro de formato na função SimpleDateFormat.
SimpleDateFormat("dd/MM/yyyy");
/* Saída: 13/01/2016 */
SimpleDateFormat("dd/MM/yyyy"); /* Saída: 13/01/2016 */
SimpleDateFormat("dd/MM/yyyy");
/* Saída: 13/01/2016 */

SimpleDateFormat("HH:mm:ss");
/* Saída: 17:32:15 */
SimpleDateFormat("HH:mm:ss"); /* Saída: 17:32:15 */
SimpleDateFormat("HH:mm:ss");
/* Saída: 17:32:15 */

SimpleDateFormat("dd");
/* Saída: 13 */
SimpleDateFormat("dd"); /* Saída: 13 */
SimpleDateFormat("dd");
/* Saída: 13 */

Documentação completa você encontra no link abaixo:
Android Developer: SimpleDateFormat

Função de Máscara para String

Segue abaixo uma função para colocar máscara em strings.

/*
* Função para formatar uma string conforme a máscara especificada
*/
function mask($str, $mask)
{
$maskared = '';
$k = 0;
for ($i = 0; $i <= strlen($mask) - 1; $i++) {
if ($mask[$i] == '#') {
if (isset($str[$k])) {
$maskared .= $str[$k++];
}
} else {
if (isset($mask[$i])) {
$maskared .= $mask[$i];
}
}
}
return $maskared;
}
/* * Função para formatar uma string conforme a máscara especificada */ function mask($str, $mask) { $maskared = ''; $k = 0; for ($i = 0; $i <= strlen($mask) - 1; $i++) { if ($mask[$i] == '#') { if (isset($str[$k])) { $maskared .= $str[$k++]; } } else { if (isset($mask[$i])) { $maskared .= $mask[$i]; } } } return $maskared; }
/*
* Função para formatar uma string conforme a máscara especificada
*/
function mask($str, $mask)
{
    $maskared = '';
    $k        = 0;
    for ($i = 0; $i <= strlen($mask) - 1; $i++) {
        if ($mask[$i] == '#') {
            if (isset($str[$k])) {
                $maskared .= $str[$k++];
            }
        } else {
            if (isset($mask[$i])) {
                $maskared .= $mask[$i];
            }
        }
    }

    return $maskared;
}

Utilização: (Alguns exemplos)
$cnpj = "11222333000199";
echo mask($cnpj,'##.###.###/####-##');
/* Saída: 11.222.333/0001-99 */
$cnpj = "11222333000199"; echo mask($cnpj,'##.###.###/####-##'); /* Saída: 11.222.333/0001-99 */
$cnpj = "11222333000199";
echo mask($cnpj,'##.###.###/####-##');
/* Saída: 11.222.333/0001-99 */

$cpf = "00100200300";
echo mask($cpf,'###.###.###-##');
/* Saída: 001.002.003-00 */
$cpf = "00100200300"; echo mask($cpf,'###.###.###-##'); /* Saída: 001.002.003-00 */
$cpf = "00100200300";
echo mask($cpf,'###.###.###-##');
/* Saída: 001.002.003-00 */

$cep = "08665110";
echo mask($cep,'#####-###');
/* Saída: 08665-110 */
$cep = "08665110"; echo mask($cep,'#####-###'); /* Saída: 08665-110 */
$cep = "08665110";
echo mask($cep,'#####-###');
/* Saída: 08665-110 */

$data = "27022016";
echo mask($data,'##/##/####');
/* Saída: 27/02/2016 */
$data = "27022016"; echo mask($data,'##/##/####'); /* Saída: 27/02/2016 */
$data = "27022016";
echo mask($data,'##/##/####');
/* Saída: 27/02/2016 */

$str = "jefferson";
echo mask($str,'###-###-###');
/* Saída: jef-fer-son */
$str = "jefferson"; echo mask($str,'###-###-###'); /* Saída: jef-fer-son */
$str = "jefferson";
echo mask($str,'###-###-###');
/* Saída: jef-fer-son */

Page 3 of 5

Desenvolvido em WordPress & Tema por Anders Norén