Tengo una matriz
$arrayBlacklist = array("Kota","Kab.","Kota Administrasi","KAB", "KOTA", "Kabupaten");
Y tengo $ city variable
$city = "Kota Jakarta Selatan"; // ect. "Kab. Jakarta Selatan", "Kota Administrasi Jakarta Selatan",...
Solo quiero eliminar el valor $arrayBlacklist
si está en la variable $ city
Entonces, obtengo $city = "Jakarta Selatan"
5
Muamar Humaidi
21 jul. 2020 a las 15:08
2 respuestas
Menos elegante que otra respuesta, pero hace el trabajo.
$arrayBlacklist = ['Kota', 'Kab.', 'Kota Administrasi', 'KAB', 'KOTA', 'Kabupaten'];
$city = 'Kota Jakarta Selatan';
// make an array of words from the city name
$cityAsArray = explode(' ', $city);
foreach ($cityAsArray as $key => $part) {
// check if word is in blacklist
if (in_array($part, $arrayBlacklist)) {
// remove from the array if it is blacklisted
unset($cityAsArray[$key]);
}
}
// convert the city name back to string
$city = implode(' ', $cityAsArray);
ACTUALIZACIÓN: podemos ordenar la matriz de la lista negra según el número de palabras, luego la cadena reemplazando cada cadena de la lista negra.
$arrayBlacklist = ["Kota", "Kab.", "Kota Administrasi", "KAB", "KOTA", "Kabupaten"];
$city = 'Kota Administrasi Jakarta Selatan';
usort($arrayBlacklist, function ($a, $b) {
return substr_count($a, ' ') < substr_count($b, ' ');
});
foreach ($arrayBlacklist as $blacklist) {
$city = trim(str_replace($blacklist, '', $city));
}
0
Mehrdad Dastgir
21 jul. 2020 a las 12:43
$arrayBlacklist = array("Kota Administrasi", "Kota","Kab.","KAB", "KOTA", "Kabupaten");
rsort($arrayBlacklist);
$city = "Kota Jakarta Selatan";
$city = trim(preg_replace('/\s+/', ' ',str_replace($arrayBlacklist, '', $city)));
Puedes usar https://www.php.net/manual/en/function. str-replace.php
str_replace puede usar matrices como declaraciones de búsqueda y reemplazo.
3
V-K
21 jul. 2020 a las 12:45
Nuevas preguntas
php
PHP es un lenguaje de secuencias de comandos interpretado, dinámico, orientado a objetos y ampliamente utilizado, diseñado principalmente para el desarrollo web del lado del servidor. Se utiliza para preguntas sobre el lenguaje PHP.