php用正则表达式截取字符【求助】
哪位高手帮忙看看:我想从下面的代码中提取
{dede:field name='keywords'}{/dede:field}
{dede:field name='description'}{/dede:field}
{dede:field name='title'}http://down.sucai.com/fonts/soft/071130/1_071204075903.rar{/dede:field}
{dede:field name='writer'}{/dede:field}
{dede:field name='source'}{/dede:field}
{dede:field name='body'}{/dede:field}
{dede:field name='pubdate'}{/dede:field}
{dede:field name='litpic'}/uploads/allimg/c100112/12632b9420Z-412413.jpg{/dede:field}
这个
http://down.sucai.com/fonts/soft/071130/1_071204075903.rar
和
/uploads/allimg/c100112/12632b9420Z-412413.jpg
正则应该怎么来写呢
------解决方案--------------------
- PHP code
$str = {dede:field name='keywords'}{/dede:field}
{dede:field name='description'}{/dede:field}
{dede:field name='title'}http://down.sucai.com/fonts/soft/071130/1_071204075903.rar{/dede:field}
{dede:field name='writer'}{/dede:field}
{dede:field name='source'}{/dede:field}
{dede:field name='body'}{/dede:field}
{dede:field name='pubdate'}{/dede:field}
{dede:field name='litpic'}/uploads/allimg/c100112/12632b9420Z-412413.jpg{/dede:field}
EOF;
preg_match_all("#name='(title|litpic)'\}(.*)\{#U",$str,$matches);
print_r($matches);
------解决方案--------------------
$s = {dede:field name='keywords'}{/dede:field}
{dede:field name='description'}{/dede:field}
{dede:field name='title'}http://down.sucai.com/fonts/soft/071130/1_071204075903.rar{/dede:field}
{dede:field name='writer'}{/dede:field}
{dede:field name='source'}{/dede:field}
{dede:field name='body'}{/dede:field}
{dede:field name='pubdate'}{/dede:field}
{dede:field name='litpic'}/uploads/allimg/c100112/12632b9420Z-412413.jpg{/dede:field}
HTML;
$p = '#}(.+){#';
preg_match_all($p, $s, $r);
print_r($r[1]);
Array
(
[0] => http://down.sucai.com/fonts/soft/071130/1_071204075903.rar
[1] => /uploads/allimg/c100112/12632b9420Z-412413.jpg
)