Para obtener una substring entre dos strings, hay algunas formas populares de hacerlo. A continuación se explican los procedimientos con el ejemplo.
Ejemplos:
Input:$string="hey, How are you?" If we need to extract the substring between "How" and "you" then the output should be are Output:"Are" Input:Hey, Welcome to GeeksforGeeks If we need to get the substring between Welcome and for then it should be to geeks as for lies within GeeksforGeeks. Output:" to geeks"
Método 1: En primer lugar, debe encontrar la posición final de la palabra inicial. Luego busque la posición inicial de la palabra final después de que devuelva la substring entre esos índices.
El siguiente programa ilustra el enfoque:
Programa:
PHP
<?php function string_between_two_string($str, $starting_word, $ending_word) { $subtring_start = strpos($str, $starting_word); //Adding the starting index of the starting word to //its length would give its ending index $subtring_start += strlen($starting_word); //Length of our required sub string $size = strpos($str, $ending_word, $subtring_start) - $subtring_start; // Return the substring from the index substring_start of length size return substr($str, $subtring_start, $size); } $str = 'Hey, Welcome to geeksforgeeks'; $substring = string_between_two_string($str, 'Welcome', 'for'); echo $substring; ?>
Producción:
to geeks
Método 2: Usar la función explotar(). La función de explosión divide la string dada sobre la base del parámetro proporcionado, es decir, el separador.
Sintaxis:
$arr=explode(separator, string).
Esto devolverá una array que contendrá la string dividida en función del separador.
- Dividir la lista sobre la base de la palabra inicial.
- En la array devuelta, el segundo índice contendrá las palabras después de la palabra inicial.
- En la string proporcionada por el paso 2, si la dividimos nuevamente en función de la palabra final, el valor en el primer índice será la string entre la palabra inicial y la final.
El programa a continuación ilustra el
programa de enfoque:
PHP
<?php function string_between_two_string($str, $starting_word, $ending_word){ $arr = explode($starting_word, $str); if (isset($arr[1])){ $arr = explode($ending_word, $arr[1]); return $arr[0]; } return ''; } $str = "Hey, how are you?"; $start = "Hey"; $end = "you"; $substring = string_between_two_string($str, $start, $end); echo $substring; ?>
Producción:
, how are