| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 943 人关注过本帖
标题:php字符串替换问题——初学者
只看楼主 加入收藏
zl123
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2010-8-24
结帖率:66.67%
收藏
已结贴  问题点数:0 回复次数:2 
php字符串替换问题——初学者
要读取的xml文件
<?xml version="1.0" encoding="UTF-8"?>
<employees>
<employee>
<name>123</name>
<position age="45"> http://www.
</employee>

<employee>
<name>456 </name>
<position age="45"> http://www.
</employee>

<employee>

</employees>
php代码

$string = "123456";
$doc = new DOMDocument();
 $doc->load( 'newsgj.xml' );
 $employees = $doc->getElementsByTagName( "employee" );
 foreach( $employees as $employee )
 {
 $names = $employee->getElementsByTagName( "name" );
 $name = $names->item(0)->nodeValue;
 
 $positions = $employee->getElementsByTagName( "position" );
 $position = $positions->item(0)->nodeValue;
 $string = str_replace ( $name, "<a href = '$position'>$name</a>", $string );
}
echo iconv ( "GB2312", "UTF-8", $string );

想要的结果是:123456--><a href = " http://www. href=" http://www.,但循环替换时只能把第一个替换(现在的结果:--><a href = " http://www.),还请高手帮帮忙啊!!!

搜索更多相关主题的帖子: 字符 php 串替 
2010-09-13 11:21
zmh886
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:238
专家分:1305
注 册:2010-6-2
收藏
得分:20 
<name>456 </name>
是不是后面多个空格了?

http://www./
2010-09-14 15:53
zl123
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2010-8-24
收藏
得分:0 
那个是多了个空格,但是主要不是这个问题,如果是换成带有中文的字符串的话就不能正常替换,这个应该是编码的问题,也就是说怎样才能使输入的字符串的编码和php里的编码一致,这样才能进行匹配是不是有符合替换条件的。
2010-09-19 17:21
快速回复:php字符串替换问题——初学者
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023304 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved