Добрый день!
Понял так, что нужно взять "левые" ссылки найти в них слова и сделать шаблоны для проверки линков на наличие в них этих слов.
Если Вы хотите "ловить" слова без специальных знаков, то пример 1, иначе пример 2.
Спойлер (Отобразить)CODE ( htmlphp):
скопировать код в буфер обмена
<?php $link="?roistat=direct1_%7Bsource_type%7D_%7Bbanner_id%7D_&roistat_referrer=%7Bsource%7D&roistat_pos=%7Bposition_type%7D_%7Bposition%7D"; //-- Пример 1 ----------------------------------- $pattert1="/(".implode("|",$matches1[0]).")/"; echo "<hr>link=$link<hr>pattern1=$pattert1<pre>"; echo "</pre>"; echo "<br>Check link=",preg_match($pattert1,$link); /* link=?roistat=direct1_%7Bsource_type%7D_%7Bbanner_id%7D_&roistat_referrer=%7Bsource%7D&roistat_pos=%7Bposition_type%7D_%7Bposition%7D pattern1=/(roistat|direct1|source_type|banner_id|roistat_referrer|source|roistat_pos|position_type|position)/ Array ( [0] => roistat [1] => direct1 [2] => source_type [3] => banner_id [4] => roistat_referrer [5] => source [6] => roistat_pos [7] => position_type [8] => position )
Check link=1 */ //-- Пример 2 ----------------------------------- preg_match_all("/(\%[0-9][a-e])*[a-z]+\_*(\%[0-9][a-e])*[a-z]+\d*(\%[0-9][a-e])*/i",$link,$matches2); $pattern2="/(".implode("|",$matches2[0]).")/"; echo "<hr><pre><hr>pattern2=$pattern2<br>"; echo "</pre>"; echo "<br>Check link=",preg_match($pattern2,$link); /* pattern2=/(roistat|direct1|%7Bsource_type%7D|%7Bbanner_id%7D|roistat_referrer|%7Bsource%7D|roistat_pos|%7Bposition_type%7D|%7Bposition%7D)/ Array ( [0] => roistat [1] => direct1 [2] => %7Bsource_type%7D [3] => %7Bbanner_id%7D [4] => roistat_referrer [5] => %7Bsource%7D [6] => roistat_pos [7] => %7Bposition_type%7D [8] => %7Bposition%7D ) Check link=1 */ ?>
Удачи!(Отредактировано автором: 31 Октября, 2018 - 11:34:04)
|