php正则问题如何取文本中间内容?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php正则问题如何取文本中间内容?相关的知识,希望对你有一定的参考价值。
php正则问题如何取文本中间内容?
例如以下内容:
<div class="top">
<div class="aaa">
<div class="bbb">
<div>我是好人</div>
<div>你是谁</div>
</div>
</div>
</div>
我想取出这个代码<div class="top">到本标签</div>结束中间的内容,请问怎么取呢?
如果还要分别取出以下这两句又怎么取呢?
<div>我是好人</div>
<div>你是谁</div>
请高人指教指教,万分感谢。
<?php
echo getSubstr(\'我是测试文本\',\'我是\',\'文本\');
/*以下是取中间文本的函数
getSubstr=调用名称
$str=预取全文本
$leftStr=左边文本
$rightStr=右边文本
*/
function getSubstr($str, $leftStr, $rightStr)
$left = strpos($str, $leftStr);
//echo \'左边:\'.$left;
$right = strpos($str, $rightStr,$left);
//echo \'<br>右边:\'.$right;
if($left < 0 or $right < $left) return \'\';
return substr($str, $left + strlen($leftStr), $right-$left-strlen($leftStr));
?>
function getSubstr($str, $leftStr, $rightStr)
$left = strpos($str, $leftStr);
//echo \'左边:\'.$left;
$right = strpos($str, $rightStr,$left);
//echo \'<br>右边:\'.$right;
if($left < 0 or $right < $left) return \'\';
return substr($str, $left + strlen($leftStr), $right-$left-strlen($leftStr));
参考技术A $_note=<div>我是好人</div>;
preg_match('/\<div\>(.*)\<\/div\>/')追问
请问能详细点吗?
参考技术B $zz = "/<div.+?bbb\">.*?<div>(.+?)<\/div>.*?<div>(.+?)<.+>/s";preg_match_all($zz, $content, $find);
echo $find[1][0].' '.$find[2][0]; 参考技术C preg_match 就很好用,试试吧,注意使用贪婪模式追问
能举个例子吗?
易语言如何用正则表达式来读取制定的网页文本 最好源码上,谢谢
正则代码自己写到常量里模块为精易模块3.12
常量:
.版本 2
.常量 正则表达式, ""
全局变量
.版本 2
.全局变量 正则表达, 正则表达式类
然后代码如下:
正则表达.创建 (#正则表达式,网页文本, )
正则表达.取子匹配文本 (1, 1)追问
不用编辑框的内容等于什么什么么?很奇怪啊
追答什么意思?网页文本=HTTP读文本()
参考技术A 网页源码呢?以上是关于php正则问题如何取文本中间内容?的主要内容,如果未能解决你的问题,请参考以下文章