Тире уже в шаблоне, поэтому вам не нужно добавлять его в предложении if.
Вы можете опустить группу захвата вокруг цифр -[0-9]+
, и вы должны использовать шаблон с preg_match .
Вы можете обновить формат операторов if:
$pattern = '-[0-9]+';
if (preg_match("/mylinkname1$pattern/", $v)) {$link = 'http://example1.com/';}
Чтобы mylinkname1-1597
не являлся частью более крупного слова, вы можете окружить шаблон якорями ^
и $
, чтобы утверждать начало и конец строки или границ слова \b