preg_match() is returning inaccurate result

[email protected]
Newsgroups gmane.comp.php.general
Message-ID <[email protected]>
PHP8.3.4

Can someone help? preg_match() is acting weird about \$ and \^.

var_dump(preg_match("/\$third-party$/",'xyz$third-party')?true:false);//
returns FALSE, really expecting TRUE here!
var_dump(preg_match("/$third-party$/",'xyz$third-party')?true:false);//
returns TRUE, WHY???

"/^.....\^...\$....$/"

^ and $ must escape if it is not in beginning/ending position.
Isn't this correct?

At least Javascript is answering correctly.

/\$third-party$/.test('xyz$third-party'); // TRUE
/$third-party$/.test('xyz$third-party'); // FALSE
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.