+ -
当前位置:首页 → 问答吧 → 一个PHP正则的简单问题

一个PHP正则的简单问题

时间:2011-08-09

来源:互联网

<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>

请问下怎么让正则匹配这段代码的第一个<li>标签和最后一个</li>标签

我用这个
$str = preg_replace("/<li>(.+?)<\/li>/is",'<ul><li>\\1<li></ul>',$str);
就直接变成
<ul><li><b>1</b></li></ul>
<ul><li><b>2</b></li></ul>
<ul><li><b>3</b></li></ul>
<ul><li><b>4</b></li></ul>
<ul><li><b>5</b></li></ul>

求高人指教呀~~~




作者: hzz34177356   发布时间: 2011-08-09

$html = <<<html
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
html;
preg_match('/^(<li>\d+<\/li>).*(<li>\d+<\/li>)$/is', $html, $arr);
echo $arr[1], $arr[2];

//<li>1</li><li>5</li>

作者: kyzy_yy_pm   发布时间: 2011-08-09

没有描述清楚,你是想匹配出来还是替换。还有第一个<li>标签和最后一个</li>标签是什么意思,是指中间的内容吗?

作者: jordan102   发布时间: 2011-08-09

引用 2 楼 jordan102 的回复:

没有描述清楚,你是想匹配出来还是替换。还有第一个<li>标签和最后一个</li>标签是什么意思,是指中间的内容吗?


我想在匹配这段内容然后在头尾加上<ul></ul>标签~
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>

作者: hzz34177356   发布时间: 2011-08-09

preg_match('/<li>.*<\/li>/is', $html, $arr);
echo '<ul>' . $arr[0] . '</ul>';

作者: kyzy_yy_pm   发布时间: 2011-08-09

PHP code

$str= <<<HTML
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
HTML;
echo preg_replace('/(.+)/is','<ul>$1</ul>',$str);

作者: jordan102   发布时间: 2011-08-09

热门下载

更多