求个正则

mkman 2008-04-17 03:25:37
{abc}替换成$row['abc']
{123}替换成$row['123']
.....

怎么写?
...全文
111 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
mkman 2008-04-17
谢谢各位!
回复
mkman 2008-04-17
大哥,你Q多少,我加你,救咱一命吧
回复
SysTem128 2008-04-17
晕 管你$row哪里来的呢.
出来是数组就处理数组 对象就处理对象 人挡杀佛,佛挡杀人~
回复
mkman 2008-04-17
$row是从mysql_query(...)查询出来的结果
回复
SysTem128 2008-04-17
不好使你说出来么~
不好使 == 不能使 么?
只能说你不会调用.


<?php
class test
{
public $row;
public function test()
{
$row = array(
'abc' => 'I\'m abc',
'123' => 'I\'m 123',
);
$this->row = $row;
$str = '{abc}{123}文本{123sda}文本';
echo preg_replace("/\{([a-zA-Z0-9_]+)\}/e","self::getRow('\\1')",$str);
}

function getRow($key)
{
$row = $this->row;
if (isset($row[$key]))
{
return $row[$key];
}else{
return $key; # 如果不想输出的话就替换为空
}
}
}
$test = new test();
/**
* I'm abcI'm 123文本123sda文本
*/
?>
回复
mkman 2008-04-17
我是在一个类里面替换的,定义了替换为 $row['abc'] 这个【变量的值】的方法不好使,没把字段的值取出来
回复
SysTem128 2008-04-17
替换为 "$row['abc']" 这个【字符串】 的方法有人写给你了
替换为 $row['abc'] 这个【变量的值】 的方法我也写给你了

如果都不是的话,我就不知道你要什么了.
回复
Aylazhang 2008-04-17
把你的需求说清楚再下结论!

你的问题是:
"
{abc}替换成$row['abc']
{123}替换成$row['123']
.....

怎么写?
"

$s = '{123}';
//$s = '{abc}';
echo preg_replace("/\{(.*)\}/","\$row['\\1']",$s);

哪里不行?
回复
mkman 2008-04-17
都不行:(
回复
xiongbing529 2008-04-17
preg_replace("/{([^\s\n\t]+)}/","\$row[\\1]","{123}");
回复
Aylazhang 2008-04-17
$s = '{123}';
//$s = '{abc}';
echo preg_replace("/\{(.*)\}/","\$row['\\1']",$s);
回复
SysTem128 2008-04-17

<?php
$row = array(
'abc' => 'I\'m abc',
'123' => 'I\'m 123',
);
$str = '{abc}{123}文本{123sda}文本';
function getRow($key)
{
global $row;
if (isset($row[$key]))
{
return $row[$key];
}else{
return $key; # 如果不想输出的话就替换为空
}
}
echo preg_replace("/\{([a-zA-Z0-9_]+)\}/e","getRow('\\1')",$str);
/**
* I'm abcI'm 123文本123sda文本
*/
?>
回复
mkman 2008-04-17
变了字符串了.
$row['123'] $row['abc'] 要能够读取mysql_query查询出来的字段值哦?
回复
li36669957 2008-04-17
echo preg_replace(array("/\{/","/\}/"),array('$row['."'","'".']'),"<Field name=Title>{abc}</Field>");
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2008-04-17 03:25
社区公告
暂无公告