php - remove - strip_tags wordpress
Explotar cadena por uno o más espacios o pestañas (10)
¿Cómo puedo explotar una cadena por uno o más espacios o pestañas?
Ejemplo:
A B C D
Quiero hacer esto una matriz.
@OP no importa, puedes dividir en un espacio con explosión. Hasta que desee usar esos valores, itere sobre los valores desglosados y descarte los espacios en blanco.
$str = "A B C D";
$s = explode(" ",$str);
foreach ($s as $a=>$b){
if ( trim($b) ) {
print "using $b/n";
}
}
Creo que quieres preg_split
:
$input = "A B C D";
$words = preg_split(''//s+/'', $input);
var_dump($words);
El autor pidió explotar, para que puedas explotar de esta manera
$resultArray = explode("/t", $inputString);
Nota: debe usar comillas dobles, no solo.
Esto funciona:
$string = ''A B C D'';
$arr = preg_split(''/[/s]+/'', $string);
Las respuestas proporcionadas por otras personas (Ben James) son bastante buenas y las he usado. Como señala user889030, el último elemento de la matriz puede estar vacío. En realidad, el primero y el último conjunto de elementos pueden estar vacíos. El código a continuación aborda ambos problemas.
# Split an input string into an array of substrings using any set
# whitespace characters
function explode_whitespace($str) {
# Split the input string into an array
$parts = preg_split(''//s+/'', $str);
# Get the size of the array of substrings
$sizeParts = sizeof($parts);
# Check if the last element of the array is a zero-length string
if ($sizeParts > 0) {
$lastPart = $parts[$sizeParts-1];
if ($lastPart == '''') {
array_pop($parts);
$sizeParts--;
}
# Check if the first element of the array is a zero-length string
if ($sizeParts > 0) {
$firstPart = $parts[0];
if ($firstPart == '''')
array_shift($parts);
}
}
return $parts;
}
Para separar por pestañas:
$comp = preg_split("/[/t]/", $var);
Para separar por espacios / pestañas / nuevas líneas:
$comp = preg_split(''//s+/'', $var);
Para separar por espacios solo:
$comp = preg_split(''/ +/'', $var);
Para tener en cuenta el espacio de ancho completo , como
full width
puedes extender la respuesta de Bens a esto:
$searchValues = preg_split("@[/s+ ]@u", $searchString);
Fuentes:
- quitar el espacio en blanco de varios bytes de una cadena PHP
- ¿Cuáles son todos los caracteres japoneses de espacios en blanco?
(No tengo suficiente reputación para publicar un comentario, así que lo escribí como respuesta).
en lugar de usar explode, prueba preg_split: preg_split
$parts = preg_split(''//s+/'', $str);
Explode string by one or more spaces or tabs in php example as follow:
<?php
$str = "test1 test2 test3 test4";
$result = preg_split(''/[/s]+/'', $str);
var_dump($result);
?>
/** To seperate by spaces alone: **/
<?php
$string = "p q r s t";
$res = preg_split(''/ +/'', $string);
var_dump($res);
?>