Как получить ссылки с href="animals.html" в php DOM?
Мои страницы www.example.com/somthing/types.html, www.example.com/somthing2/types.html этот HTML-файл имеет тег<a href="animals.html" . somthing,somthing2
это файлы, каждый файл содержит ссылки в types.html и такие файлы, как animals.html в тех же папках. когда я получаю его с dom, он показывает только "animals.html", но я хочу получить "www.example.com/somthing/animals.html". Как я могу удалить types.html с www.example.com/somthing/types.html и поставить www.example.com/somthing+/animals.html.
Мне просто нужен способ удалить "types.html" из www.example.com/somthing/types.html. сохраните папку и удалите последнюю часть после этого "/".
Я не всегда знаю последнюю часть (имя файла), поэтому мне нужен способ удалить последнюю вещь после последней "/". извините за мои языковые проблемы.str_replace('types.html' ,'','www.example.com/somthing/types.html');
для, если я знаю имя файла (types.html).
4 ответа
Вы можете использовать это
preg_replace('/([^\/]*$)/', '', 'www.example.com/somthing/types.html');
Это заменит все символы после последнего /
Выход будет www.example.com/somthing/
Вы также можете сделать это по старинке:
$url = 'www.example.com/somthing/types.html';
$divided = explode( '/', $url );
array_pop( $divided );
$new_url = implode( '/', $divided );
Try this
$string = 'www.examle.com/somthing/types.html';
echo preg_replace('#\/[^/]*$#', '', $string);
Если вы думаете о быстром и быстром, вы можете рассмотреть этот кусок кода вместо preg_replace
$url = explode("/",$url);
array_pop($url);
$url = implode("/",$url);
Опять же это немного быстрее, так что делайте, как вам нравится:).
Пруф: http://sandbox.onlinephpfunctions.com/code/5083e02d4f171502ef1e7c87c8dd9a957ee0d8fb