php - preg_replace 来自 Meta 和 Link 标记的额外双引号用于非空白字符?
问题描述
我在头部有元和链接标签
HTML 代码
<html><head>
<meta name="description" content="This is description of Example Sites 2018" />
<link href="https://examplesite.com/favicon.ico" rel="icon"/>
</head>
<body>
<a href="https://example.com">Click Here</a>
</body></html>
PHP 代码
preg_match("/([^\s]+)=\"([^\s]+)\"/i", $input_line, $output_array);
输出
<head>
<meta name=description content="This is description of Example Sites 2018" />
<link href=https://examplesite.com/favicon.ico rel=icon/>
</head>
<body>
<a href=https://example.com>Click Here</a>
</body>
我怎样才能
- 仅对 head 标签执行此代码
- 不适用于链接 href=和a href=
- 仅适用于非空白字符
解决方案
根据我的经验,最好不要使您的正则表达式复杂化(出于维护目的)。因此,您可以将提取分为三个步骤:
首先,提取head
部分(或排除正文)。
其次,排除link
部分。
最后,使用您编写的 Regex 来提取它。
推荐阅读
- java - 我正在通过java启动一个.bat文件,我想读取那个.bat命令提示符数据,如何?
- php - 是否有仅在插件激活时执行 javascript 文件的选项
- angular - 有没有办法使用 Protractor 从 API 调用中提取数据
- python-3.x - 在 Pandas Dataframe 中将具有相似项目的行组合在一起-需要最快的方法
- vue.js - “[Vue 警告]:未知的自定义元素:...”错误,当使用带有 vue-cli-plugin-vuetify 的 vuetify UI 组件时
- excel - VBA为什么此代码显示“没有If错误的Else”?
- azure - Azure APIM 中是否有任何中央存储库来保存保留定义、策略等?
- sophoslabs-intelix - 我应该如何在 SophosLabs Intelix 恶意软件和生产力 URL 查找 API 中指定 URI?
- python - 如何将上传的html文件转换为pdf?(django休息框架)
- python - 具有两种不同输入样本大小的 Keras 多任务学习