0
<?php
$find = array('Mahmoud', 'Ahmed', 'Arafa');
if(isset($_POST['user_input']) && !empty($_POST['user_input'])){
$user_input = $_POST['user_input'];
for ($i=0; $i < count($user_input); $i++) {
//echo 'eshta';
foreach($find as $pattern) {
echo "$pattern";
if($pattern[0] == $user_input[$i]){
$flag = 1;
for ($k=0; $k < count($pattern); $k++) {
if($pattern[$k] != $user_input[$i + $k]){
$flag = 0;
break;
}
}
if($flag){
for ($k=1; $k < count($pattern) - 1; $k++) {
$user_input[$i + $k] = '*';
}
}
}
}
}
echo $user_input;
}
?>
Dies ist ein Ausschnitt aus meiner script.php für Word-Zensur. In dieser Zeile:foreach funktioniert nicht richtig
'echo "$pattern";
es gibt das gesamte Array aus, nicht das aktuelle Wort (Muster). Was ist das Problem?
Sie können eine Schleife über das Array in $ Muster mit einer for-Schleife wie, wie Sie mit dem foreach tun. Oder Sie drucken einfach die erste mit echo $ pattern [0] '. Das ist kein Problem. Sie sagen es, das gesamte Array bei jeder Iteration zu drucken und das zu tun. Erfahren Sie mehr über das Holen von Elementen von PHP-Arrays. –
Innerhalb des Foreach $ -Musters befindet sich ein String, nicht ein Array, wie Sie ihn als referenziert haben. Foreach funktioniert gut. Du verstehst es nur –