{"id":2629,"date":"2020-04-01T15:50:11","date_gmt":"2020-04-01T14:50:11","guid":{"rendered":"https:\/\/ibex.tech\/cloud\/?p=2629"},"modified":"2025-04-09T12:04:18","modified_gmt":"2025-04-09T11:04:18","slug":"using-strings-extracting","status":"publish","type":"post","link":"https:\/\/ibex.tech\/cloud\/php\/strings\/using-strings-extracting","title":{"rendered":"Using Strings-Extracting"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Substring<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">From start of string<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>echo substr($MyVariable, 3, 1); \/\/Returns 1 character starting from the 4th character (0 is first character)\n\necho substr($MyVariable, 3); \/\/Returns all characters starting from the 4th character (0 is first character)<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">From end of string<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>echo substr($SoftwareVersion, -2); \/\/Returns the last 2 charaters of the string (negative values start from string end)<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Get String Before &amp; After Character\/String If Present<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>\t$MyString= \"url\/index.php\";\n\t$StringParts= explode(\"\/\", $MyString);\n\t$StringBefore= $StringParts&#91;'0'];      \/\/String before\n\t$StringAfter = $StringParts&#91;'1'];      \/\/String after<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Remove First Word In A String<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>echo substr(strstr(\"Abc Def Ghi\",\" \"), 1);<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Remove Last Word In A String<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>$last_space_position = strrpos($text, ' ');\n$text = substr($text, 0, $last_space_position);<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Get String Before&nbsp;First Occurrence Of A String<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>\t$MyOutputString = strstr($MyString,\"&#91;TAGENDMARKER]\", True);\t\/\/Returns string up to start of first match, excluding the string being matched<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Get String After&nbsp;First Occurrence Of A String<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>  $my_output_string = strstr($my_string,\"&#91;TAGSTARTMARKER]\", FALSE);\t\/\/Returns string after start of first match, including the string being matched<\/code><\/pre>\n\n\n\n<p>Neat way of getting just the string after the search string:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  $InputString = \"something\/members\/hello\/\";\n  $OutputString = explode('\/members\/', $InputString);\n  $OutputString = $OutputString&#91;1];       \/\/$OutputString now = \"hello\/\"<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Getting String Between Strings<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>function get_string_between_strings ($string, $start, $end)\n{\n    $string = ' ' . $string;\n    $ini = strpos($string, $start);\n    if ($ini == 0)\n\t\t\treturn '';\n    $ini += strlen($start);\n    $len = strpos($string, $end, $ini) - $ini;\n    return substr($string, $ini, $len);\n}\n\n$fullstring = 'hello blah blah &#91;tag]dog&#91;\/tag]';\n$parsed = get_string_between_strings($fullstring, '&#91;tag]', '&#91;\/tag]');\n\necho $parsed; \/\/ (returns: dog)<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Convert version number to Major.Minor<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>    $SoftwareVersion = $Result&#91;'SoftwareVersion'];\n    $SoftwareVersionMinor = substr($SoftwareVersion, -2);\n    $SoftwareVersionMajor = ($SoftwareVersion - $SoftwareVersionMinor) \/ 100;<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Substring From start of string From end of string Get String Before &amp; After Character\/String If Present Remove First Word In A String Remove Last Word In A String Get String Before&nbsp;First Occurrence Of A String Get String After&nbsp;First Occurrence Of A String Neat way of getting just the string after the search string: Getting [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-2629","post","type-post","status-publish","format-standard","hentry","category-strings"],"_links":{"self":[{"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/posts\/2629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/comments?post=2629"}],"version-history":[{"count":7,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/posts\/2629\/revisions"}],"predecessor-version":[{"id":4850,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/posts\/2629\/revisions\/4850"}],"wp:attachment":[{"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/media?parent=2629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/categories?post=2629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/tags?post=2629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}