求个正则

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

怎么写?
...全文
189 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
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>");

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧