我正在寻找元描述标签的正则表达式代码。
#<meta|name="description|".*content|="([^"]+)"># <-
这就是我所拥有的,但它与大写字母不匹配,因为我发现一些标签就像META DESCRIPTION =
,等等。
是否有新代码或更改此代码以匹配大写字母内容的方法?
您的正则表达式<meta|name="description|".*content|="([^"]+)">
已损坏,这意味着:
<meta
name="description
"
后跟任何内容,然后是content
="
后跟至少一个不"
跟在后面的字符">
但是如果你想尝试一些训练,开始改进这个:
#<meta name="description" content="([^"]+)">#i
这是不区分大小写的,并且执行您认为的操作。
请注意,它不会匹配这样的有效元素:
<meta name="description" content="foo bar baz">
或者
<meta
name="description"
content="foo bar baz">
或者
<meta content="foo bar baz" name="description">
检查此php 函数以轻松获取所有元详细信息,包括描述。
你可以像这样使用它:
/<meta[^>]*name=[\"|\']description[\"|\'][^>]*content=[\"]([^\"]*)[\"][^>]*>/i
也适用于压缩的 html 代码。
<meta\s+(?=[^>]*name\s*=\s*("|')description\1)[^>]*content\s*=\s*("|')(.*?)\2[^>]*>