我正在尝试替换HTML页面的每个链接,以便人们可以单击它。 但是我找不到该模式的正则表达式:
href="Any_URL">除了那些包含".js"或".css"(在URL的中间或末尾(
我尝试了许多模式,如href=".+(.css|。js({0}.*">
这个想法是获取网站的内容,并将每个URL(包含.js和.css的URL除外(替换为href="#",这样人们就无法点击它。
$subject = file_get_contents($url, FILE_USE_INCLUDE_PATH(;获取网站内容
$pattern='#href=".+(.css|.js({0}.*"#i'//不起作用
$page=preg_replace($pattern, 'href=#', $subject(;//将所有链接替换为不可点击的内容
返回$page;
{0}仅适用于匹配项。所以它不会在比赛中计算,但可能会在那里。 试试这个:
href="(.+)(?<!.css|.js)"
正则表达式101
这应该拒绝任何包含.css
或.js
的内容,使用负面的展望:
/href=".+.(?!css|js).+"/