{"id":2229,"date":"2022-01-26T19:27:56","date_gmt":"2022-01-26T18:27:56","guid":{"rendered":"https:\/\/ekiwi.de\/?p=2229"},"modified":"2022-01-29T13:14:51","modified_gmt":"2022-01-29T12:14:51","slug":"php-dateinamen-und-parameter-aus-url-entfernen","status":"publish","type":"post","link":"https:\/\/ekiwi.de\/index.php\/2229\/php-dateinamen-und-parameter-aus-url-entfernen\/","title":{"rendered":"PHP: Dateinamen und Parameter aus URL entfernen"},"content":{"rendered":"<p>Den Dateinamen und Parameter aus einer URL abschneiden.<\/p>\n<p><!--more--><\/p>\n<p>F\u00fcr ein Script brauchte ich den aktuellen Pfad der URL des Scriptes. Die <a href=\"https:\/\/ekiwi.de\/index.php\/2227\/php-url-des-aktuellen-scripts-ermitteln\/\">URL zum Script<\/a> war noch einfach zu ermitteln, allerdings hingen hier noch der Dateiname, z.B. &#8222;index.html&#8220; oder eventuelle Parameter dran. Folgende Funktion entfernt diese:<\/p>\n<pre>\/**\r\n * Entfernt den Dateinamen und von der URL sofern vorhanden,\r\n * f\u00fcgt einen \/ am Ende hinzu\r\n * @param $link\r\n * @param bool $addTrailingSlash - Slash am Ende anf\u00fcgen?\r\n * @return array|mixed|string|string[]\r\n *\/\r\nfunction getUrlFolder($link, $addTrailingSlash = true) {\r\n\r\n    \/\/remove params\r\n    $pos = strpos($link, &quot;?&quot;);\r\n    if ($pos !== false) {\r\n        $link = substr($link, 0, $pos);\r\n    }\r\n\r\n    \/\/remove extenstion\r\n    $file_info = pathinfo($link);\r\n    if (isset($file_info['extension'])) {\r\n       $link = str_replace($file_info['filename'] . &quot;.&quot; . $file_info['extension'], &quot;&quot;, $link);\r\n    }\r\n\r\n    \/\/trailing slash\r\n    if (!endsWith($link, &quot;\/&quot;) &amp;&amp; $addTrailingSlash) {\r\n        $link .= &quot;\/&quot;;\r\n    }\r\n\r\n    return $link;\r\n}\r\n\r\n\/**\r\n * Hilfsfunktion f\u00fcr Stringende\r\n * @param string $haystack\r\n * @param string $needle\r\n * @return boolean\r\n *\/\r\nfunction endsWith($haystack, $needle)\r\n{\r\n    $length = strlen($needle);\r\n    if ($length == 0) {\r\n        return true;\r\n    }\r\n\r\n    return (substr($haystack, -$length) === $needle);\r\n}\r\n<\/pre>\n<p>Wahlweise kann <code>getUrlFolder<\/code> auch einen Slash am Ende hinzuf\u00fcgen (Standard) oder nicht. Ein Beispiel:<\/p>\n<pre>$url1 = &quot;https:\/\/www.google.com\/search?q=php+remove&quot;;\r\n$url2 = &quot;https:\/\/secure.da-software.de\/Installationsanleitung\/Lizenz\/index.html&quot;;\r\n$url3 = &quot;https:\/\/da-software.net\/support\/installationservice-fuer-php-formmail-scripte\/&quot;;\r\n$url4 = &quot;https:\/\/da-software.net\/support\/installationservice-fuer-php-formmail-scripte&quot;;\r\n$url5 = &quot;https:\/\/da-software.net\/support\/installationservice-fuer-php-formmail-scripte?param=1&quot;;\r\n$url6 = &quot;https:\/\/da-software.net\/support\/installationservice-fuer-php-formmail-scripte\/index.php?param=1&quot;;\r\n\r\necho getUrlFolder($url1) . &quot;&lt;br\/&gt;\\n&quot;;\r\necho getUrlFolder($url2) . &quot;&lt;br\/&gt;\\n&quot;;\r\necho getUrlFolder($url3) . &quot;&lt;br\/&gt;\\n&quot;;\r\necho getUrlFolder($url4) . &quot;&lt;br\/&gt;\\n&quot;;\r\necho getUrlFolder($url5) . &quot;&lt;br\/&gt;\\n&quot;;\r\necho getUrlFolder($url6) . &quot;&lt;br\/&gt;\\n&quot;;<\/pre>\n<p>Die Ausgabe:<\/p>\n<p><code>https:\/\/www.google.com\/search\/<br \/>\nhttps:\/\/secure.da-software.de\/Installationsanleitung\/Lizenz\/<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"KGWjajYwGZ\"><p><a href=\"https:\/\/da-software.net\/support\/installationservice-fuer-php-formmail-scripte\/\">Installationservice f\u00fcr PHP-Formmail-Scripte<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8222;Installationservice f\u00fcr PHP-Formmail-Scripte&#8220; &#8212; DA-Software.net\" src=\"https:\/\/da-software.net\/support\/installationservice-fuer-php-formmail-scripte\/embed\/#?secret=O0jyrG6GvM#?secret=KGWjajYwGZ\" data-secret=\"KGWjajYwGZ\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"KGWjajYwGZ\"><p><a href=\"https:\/\/da-software.net\/support\/installationservice-fuer-php-formmail-scripte\/\">Installationservice f\u00fcr PHP-Formmail-Scripte<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8222;Installationservice f\u00fcr PHP-Formmail-Scripte&#8220; &#8212; DA-Software.net\" src=\"https:\/\/da-software.net\/support\/installationservice-fuer-php-formmail-scripte\/embed\/#?secret=O0jyrG6GvM#?secret=KGWjajYwGZ\" data-secret=\"KGWjajYwGZ\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"KGWjajYwGZ\"><p><a href=\"https:\/\/da-software.net\/support\/installationservice-fuer-php-formmail-scripte\/\">Installationservice f\u00fcr PHP-Formmail-Scripte<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8222;Installationservice f\u00fcr PHP-Formmail-Scripte&#8220; &#8212; DA-Software.net\" src=\"https:\/\/da-software.net\/support\/installationservice-fuer-php-formmail-scripte\/embed\/#?secret=O0jyrG6GvM#?secret=KGWjajYwGZ\" data-secret=\"KGWjajYwGZ\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><br \/>\nhttps:\/\/da-software.net\/support\/installationservice-fuer-php-formmail-scripte\/<\/code><\/p>","protected":false},"excerpt":{"rendered":"<p>Den Dateinamen und Parameter aus einer URL abschneiden.<\/p>\n","protected":false},"author":1,"featured_media":2228,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[14],"tags":[292,31,80],"class_list":["post-2229","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","tag-code","tag-php","tag-programmierung"],"_links":{"self":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/2229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/comments?post=2229"}],"version-history":[{"count":0,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/2229\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media\/2228"}],"wp:attachment":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media?parent=2229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/categories?post=2229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/tags?post=2229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}