@ImSoSorry

Как вставить переменную в регулярное выражение PHP?

Всем привет, помогите пожалуйста новичку понять регулярку.

Есть site.com где:
<a href="/clothing/jacket/">Jacket</a>
<a href="/clothing/Socks/">Socks</a>
<a href="/clothing/Shoes/">Shoes</a>
<a href="/clothing/Skirt/">Skirt</a>


Туплю над тем как мне найти именно "/clothing/Skirt/" или "/clothing/Shoes/" в зависимости от значения $type.
Если $type = Skirt находит "/clothing/Skirt/", если Socks то соответственно находит "/clothing/Socks/"

Пробовал так, но что то не то, в чем проблема?
$type = 'Skirt';
$html = file_get_contents("http://site.com");
if (preg_match_all('#<a href="(.+?)">'.$type.'<\/a>#', $html, $regs, PREG_PATTERN_ORDER)){
    foreach($regs[1] as $v){

    print_r($v);

    }

}
  • Вопрос задан
  • 1353 просмотра
Пригласить эксперта
Ответы на вопрос 2
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
https://3v4l.org/25S3Y

<?php
$data = <<<HTML
<a href="/clothing/jacket/">Jacket</a>
<a href="/clothing/Socks/">Socks</a>
<a href="/clothing/Shoes/">Shoes</a>
<a href="/clothing/Skirt/" class="xxx">test Skirt test</a>
HTML;

$type = 'skirt';

preg_match('!href="([^"]+)"[^>]*?>[^<]*?'.$type.'[^<]*?<!usi', $data, $out);

print_r($out[1]);
Ответ написан
@WotKievlanin
Делаю свой сайт diplomus.kiev.ua на чистом коде.
А если с функцией strripos(), substr(),
Вырезать нужную директорию и сравнивать.
Обрезать последний слеш затем получить номер позиции последнего слеша и обрезать всю строку до него получится чистый skirt
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽