[PHP] Script per censurare parole

webmachine

Utente Attivo
12 Gen 2016
43
0
6
Ciao a tutti, ho la necessità di creare uno script che dato un testo in input sostituisca con degli * le parole pre-scelte.

Non voglio però che tutta la parola sia sostituita bensì solo le lettere centrali, vi faccio un esempio:
Se la parola da nascondere è SCIOCCO, dovrà apparire S*****O
Ovvero mantenere la prima e l'ultima lettera e poi al centro n *, in base alla qta di lettere.

Sapreste aiutarmi? Grazie
 

zorro

Utente Attivo
20 Ott 2014
282
15
18
ROMA
prova questo: ho provato con una frase di prova (scusa il gioco di parole) contenente tre parole 'proibite' che sono steate correttamente sostituite. Spero sia quello che intendevi.


PHP:
<?php
$frase = 'cavolo, mi sono comportato da sciocco, scusami, sono un cretino';
preg_match_all('/(sciocco|cretino|cavolo)/',$frase,$result);
$numeri = $result[0];
$nrocc = count($numeri);
$nuova_parola = array();


for ($ind=0;$ind<$nrocc;$ind++) {
     $lung = strlen($numeri[$ind]);
     $inizio = substr($numeri[$ind],0,1);
     $fine = substr($numeri[$ind],$lung-1);
     $nuovaparola = $inizio;
     for ($indice=1;$indice<$lung-1;$indice++) {
          $nuovaparola .= '*';
     }
     $nuovaparola.=$fine;
     $nuova_parola[$ind] = $nuovaparola;
}


//SOSTITUZIONE

$fraseorig = $frase;
$frase = str_replace($numeri,$nuova_parola,$frase);
echo $fraseorig.'<br>'.$frase.'<br>';
?>


Zorro
 

macus_adi

Utente Attivo
5 Dic 2017
1.333
91
48
IT/SW
PHP:
$testo='Testo sciocco da parsare al manzo';
$parole_censurate=['sciocco','bello','manzo'];
foreach($parole_censurate as $items){
    $new_label=substr($items,0,1);
         for($i=0;$i<strlen($items)-2;$i++)$new_label.='*';
     $new_label.=substr($items,strlen($items)-1,1);    
     $testo=str_replace($items,$new_label,$testo);
}
Dovrebbe essere più compatto e veloce....
 

webmachine

Utente Attivo
12 Gen 2016
43
0
6
PHP:
$testo='Testo sciocco da parsare al manzo';
$parole_censurate=['sciocco','bello','manzo'];
foreach($parole_censurate as $items){
    $new_label=substr($items,0,1);
         for($i=0;$i<strlen($items)-2;$i++)$new_label.='*';
     $new_label.=substr($items,strlen($items)-1,1);   
     $testo=str_replace($items,$new_label,$testo);
}
Dovrebbe essere più compatto e veloce....

Ciao Macus_adi,
grazie mille per la risposta.

Il 'probolema' di entrambi gli script è che sono case sensitive, ovvero viene censurato cavolo ma non Cavolo o cavOlo.
Ora sto utilizzando uno script simile al tuo ma ovviamente prima rendo tutto minuscolo.

Avete delle soluzioni per 'ripristinare' oppure addirittura non variare le maiuscole/minuscole?

Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prova
PHP:
<?php
$pat=array('scemo','cretino');
$sot="***";
$frase="se scemo &eacute; Cretino e cretino &eacute; Scemo sostituisco con asterischi";

$corretta=str_ireplace($pat,$sot,$frase);//ireplace case insensitive

echo $corretta;// se *** é *** e *** é *** sostituisco con asterischi
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
felino Script PHP per leggere un file JSON. autenticazione? PHP 4
romeocharly [PHP] Script per rinominare in automatico le immagini inviate da ftp PHP 0
A [PHP] Script con array con numeri che iniziano per 00 PHP 2
TpD [PHP] Script per organizzazione presenza eventi PHP 3
M [PHP] Script per controllo disponibilitá negozio in citta PHP 4
K Script PHP per leggere array.txt Presentati al Forum 3
Mauro Guardiani [PHP] script per caricamento video PHP 0
romeocharly Creare un script/codice in php per collegare un id mysql con un file PHP 0
xone [Vendo] Script php+mysql autocostruito per gestione giacenze magazzino Offerte e Richieste di Lavoro e/o Collaborazione 0
F Script php per IP camera PHP 12
IImanuII Licenza per script in PHP PHP 2
S aiuto per script PHP/OOP PHP 2
filippino Script PHP per estrarre dati estrazioni da sito "10 e lotto" PHP 0
K creare uno script in php , per generare in modo automatico query PHP 2
S countdown in php e script per aprire 2 siti contemporanemante PHP 1
U php-mysql script per convertire valori $_POST PHP 2
H Script php per link 'Aggiungi agli amici'? PHP 34
IImanuII [Php] script per il conteggio delle mail inviate PHP 40
T [Offro Lavoro] CERCASI PROGRAMMATORE PHP per singoli script Offerte e Richieste di Lavoro e/o Collaborazione 2
V Script per distanza indirizzi [era: Script Php che non capisco se funzioni !] PHP 2
C script php per posizionamento su google PHP 0
R script per redirect php ad orari stabiliti PHP 31
M Script php per cancellare file PHP 1
K Script in PHP per gestione sito da utente PHP 6
A cerco script php per sincro db mysql CMS (Content Management System) 4
M Editare uno script php per arricchirlo PHP 9
M php script per classifica PHP 2
Z query sql e script php per ordinamento dati tabella PHP 2
U aiuto per script php inviare una mail PHP 1
SolidSnake4 miglior script per l'upload di immagini con php su DB PHP 5
H Php script per i .swf giochini PHP 0
G Script php per invio email con controllo sintassi e record MX PHP 0
G Script php per invio email con controllo sintassi e record MX PHP 7
S Script per creare Email in PHP PHP 1
M MySQL e PHP: script particolare per vBulletin! PHP 43
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
M Collegamento tra form html e script php PHP 4
felino PHP e script generazione file excel PHP 2
R Primo script in PHP / CSS PHP 4
T [a pagamento] programmatore PHP che mi aiuti a migrare gli script da vecchia versione PHP a nuova Offerte e Richieste di Lavoro e/o Collaborazione 1
Max 1 [PHP] Script che funziona in locale e non online PHP 16
O [PHP] inviare dati da form e script ajax PHP 0
P [PHP] Aggiungere un mio script a prestashop? PHP 10
D [Javascript] inserire uno script in un file php Javascript 6
Gabriele15497514 php testo errato durante la lettura del file txt quando lo script viene eseguito contemporaneamente PHP 3
D [PHP] script che invii una mail automatica dopo risposta ad una discussione di un forum PHP 0
T interpretare uno script php non fatto da me... PHP 3
O Script PHP e loro visibilità PHP 4
A [PHP] Script Ip camera su altervista senza sottocartelle PHP 6
M [PHP] Problema script ricezione e invio posta... PHP 1

Discussioni simili