我有一大段文本加载到头部,其中包含这个链接。
<link rel="canonical" href="could_be_anything_here_at_all" />
我希望用一个新值替换它,但是href会根据页面的意思而改变,因此简单的 str_replace 不可行。
我尝试使用 preg_replace,但无法理解这似乎是一个简单问题。
$regex = '/(^<link rel="canonical")(\/>$)/';
$match = preg_match_all($regex, $content, $matches);
var_dump($matches);
- / /开始和结束的表达式是什么?
- ()表示需要匹配的“表达式”应该分开,以便返回字符串?
- ^过滤以以下字符串开头的结果?
- $过滤以以下字符串结尾的结果?
因此,我正在寻找以<link rel="canonical"
开头并以/>
结尾的字符串。
我展示了我想要的步骤,以及我的尝试。请帮我编写并最终理解如何执行此操作。对于这个问题,我真的不知所措。