Skip to content

Instantly share code, notes, and snippets.

@titomus
Created February 13, 2022 16:07
Show Gist options
  • Save titomus/be81e6cb2528fe77115d11a9c0637572 to your computer and use it in GitHub Desktop.
Save titomus/be81e6cb2528fe77115d11a9c0637572 to your computer and use it in GitHub Desktop.
GEt String Between
<?php
function getStringBetween($p_string, $p_from, $p_to, $p_multiple=false){
//checking for valid main string
if (strlen($p_string) > 0) {
//checking for multiple strings
if ($p_multiple) {
// getting list of results by end delimiter
$result_list = explode($p_to, $p_string);
//looping through result list array
foreach ( $result_list AS $rlkey => $rlrow) {
// getting result start position
$result_start_pos = strpos($rlrow, $p_from);
// calculating result length
$result_len = strlen($rlrow) - $result_start_pos;
// return only valid rows
if ($result_start_pos > 0) {
// cleanying result string + removing $p_from text from result
$result[] = substr($rlrow, $result_start_pos + strlen($p_from), $result_len);
}// end if
} // end foreach
// if single string
} else {
// result start point + removing $p_from text from result
$result_start_pos = strpos($p_string, $p_from) + strlen($p_from);
// lenght of result string
$result_length = strpos($p_string, $p_to, $result_start_pos);
// cleaning result string
$result = substr($p_string, $result_start_pos+1, $result_length );
} // end if else
// if empty main string
} else {
$result = false;
} // end if else
return $result;
} // end func. get string between
//Pour une utilisation simple (renvoie deux):
$result = getStringBetweenDelimiters(" one two three ", 'one', 'three');
//Pour obtenir chaque ligne d'une table en tableau de résultats:
$result = getStringBetweenDelimiters($table, '<tr>', '</tr>', true);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment