php正则表达式替换字符,正则表达式/通配符替换字符串PHP

你写的正则表达式遍布整个地方.让我们来看看这个模式:

无论发生什么,它都将以< link开头并以>< / link>结束.或/> (必须考虑那些讨厌的不尊重标准的网络海盗).你正在寻找rel参数,如果它有一个,它需要是规范的.

我们可以开始编写正则表达式:#< link([^>])(/> |>< / link>)#is.这将映射所有链接标记.然后,您可以使用简单的strpos调用来解析参数.

如果您确定rel =“canonical”将是链接标记的第一个参数,您可以将正则表达式进一步扩展为#< link rel =“canonical”href =“?'?([^”']) “?'?(/> |>< / link>)#is.这将按顺序映射它,如果您确定这将是订单,这很好.

按出场顺序:

除了>之外,[^>]匹配任何内容角色一次或多次

标志代表:不区分大小写,不要在换行符中断

“?’?匹配0或1”,后跟0或1′

如果还有其他不清楚的地方,请告诉我.

编辑:回答你的问题

> //开始和结束表达式?他们被称为分隔符,他们“包围”表达. Perl正则表达式引擎允许设置关于表达式(i,s,g,b等)的标志,并且这些标志必须在表达式之外.他们追求分隔符 – 这是分隔符的要点.你可以使用你喜欢的任何角色 – 它将选择最远的两个重复角色.人们倾向于使用/由于JS使用单个字符串 – 我倾向于在PHP中使用#来清除因关闭HTML标记而产生的歧义.>()表示必须匹配要返回的字符串的单独“表达式”?()匹配一个子集,如果为匹配项指定变量,则允许您将其返回到结果中.正则表达式的每个部分都可以使用通配符& co,但只包含在()中的东西将在比赛中返回> ^过滤以下列字符串开头的结果?不. []范围之外的^将匹配以下列字符串句点开头的任何内容.在一条新的路线上,有效而不仅仅是“言语”.>结果以以下字符串结尾的$过滤器?与上面相同,只是“结束”而不是“开始”.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值