php正则匹配html
1. 如何用php 正则匹配出含有HTML标签的字符串中的英文单词
通过仔细阅读问题描述,样本采用 html格式编写,其内容为中英文互译,如问题所要求的:“正文中的,英文单词都匹配出来”。
提供一下思路:
建议可以将问题简化一下,即只取正文中的英文部分。
通过观察如上提供的样本中,大部分的英文部分都以标签<div class="set_en">...</div>(其中有一个 div标签没有配对) ,则步骤如下:
1、先编写正则取出标签中的内容:
2. php正则表达来获取html中的部分内容
1、几种函数的简单说明:
(1)preg_grep -- 返回与模式匹配的数组单元
preg_grep 返回一个input 数组中与给定的 pattern 模式相匹配的单元所组成的数组。
(2)preg_match -- 进行正则表达式匹配
说明:int preg_match ( string pattern, string subject [, array matches [, int flags]] )在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。 返回值0或1。
(3)preg_replace -- 执行正则表达式的搜索和替换
(4)preg_split -- 用正则表达式分割字符串
2. 一般来说,如果用正则来获取匹配内容,一般使用 preg_match/ preg_match_all 函数。
补充回答:
正则表达式如下:
'%<div class="wap2"><span>功能</span>(.*?)</div>%si'
以下是代码,经测试,运行正常:
<?php
$str = '<div class="wap2"><span>功能</span>这里面是要获取的内容,不能确定什么字符,可能是数字(123456…)字母(badn…),特殊浮等(o_O\(^o^)/…)</div>';
$pa = '%<div class="wap2"><span>功能</span>(.*?)</div>%si';
preg_match($pa,$str,$r);
echo $r[1];
?>
3. PHP正则表达式匹配0个或多个指定的字符
proct-1349.html
是对应 test.php?action=proct&rid=1349
那
proct.html
的rid怎么办?为 空?
RewriteRule ^/?([a-zA-Z]{1,})(-([0-9]{1,}))?\.html$ test.php?action=$1&rid=$3
123456789