Portál AbcLinuxu, 10. května 2025 11:14
Řešení dotazu:
print_r(parse_url($var));
nebo var_dump(parse_url($var));
to ti ukaze co skutecne leze z ty fce.
<?php function qa_delete($url) { $pos = strpos($url, '?'); if ($pos !== false) return substr($url, 0, $pos); return $url; }Použití:
<?php var_dump(qa_delete('/prvni/druha?name=treti&id=2'));Práce s řetězcem -- odmazat vše od posledního otazníku (změna
strpos
na strrpos
v kódu)
<?php function qa_delete($url) { $pos = strrpos($url, '?'); if ($pos !== false) return substr($url, 0, $pos); return $url; }Regulární výraz -- odmazat od 1. otazníku
<?php function qa_delete($url) { preg_match('@([^?]*)@', $url, $m); return $m[1]; }Ukázka použití (jedna z předchozích možností musí být spuštěna předem):
<?php var_dump(qa_delete('/prvni/druha?name=treti&id=2'));Výstup:
string(12) "/prvni/druha"
naozaj netreba vymyslat hluposti a precitat si pripadne dokumentaciu k parse_url http://php.net/manual/en/function.parse-url.php
$full_url = 'http://www.abclinuxu.cz/EditDiscussion/431817?action=add&dizId=228744&threadId=0'; $part = '/prvni/druha/?name=treti&id=2'; $full_url_clear = parse_url($full_url,PHP_URL_PATH); var_dump($full_url_clear); // string(22) "/EditDiscussion/431817" $part_clear = parse_url($part,PHP_URL_PATH); var_dump($part_clear); // string(13) "/prvni/druha/"
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.