php正则表达式如何写?
我要用PhP正则把"topindex.php?zlId=10-3-10-10-10-ZL-d-2"替换成"topindex.php?zlId=1&cdhId=10&dhI...
我要用PhP正则把"topindex.php?zlId=10-3-10-10-10-ZL-d-2"替换成"topindex.php?zlId=1&cdhId=10&dhId=1&zhId=1&shId=1&field=CDH&sort=d&page=2" 这个表达式应该如何写?急!
<table cellpadding="0" cellspacing="0" align="center"> <tr>
<td class="title"><h1><a href="/topview/600010.html" class="stockname">包钢股份</a></h1> <span class="code" value="SH600010">600010</span></td>
<td>功能<br /><a href="#usage" onclick="return showCon()">指标用法</a></td>
<td>资金流向<br /><a href="" )">分时线</a></td>
<td class="td1">上一支股票:<a href="/600009.html" title="上一支股票">上海机场(600009)</a><br />下一支股票:<a href/600011.html" title="下一支股票">华能国际(600011)</a></td> </tr>
</table>
我要截取为
<table cellpadding="0" cellspacing="0" align="center"><tr><td class="title"><h1><a href="/topview/600010.html" class="stockname">包钢股份</a></h1><span class="code" value="SH600010">600010</span></td><td class="td1">上一支股票:<a hrefpview/600009.html" title="上一支股票">上海机场(600009)</a><br />下一支股票:<a href/600011.html" title="下一支股票">华能国际(600011)</a></td></tr>
</table>
php 正则表达式,应该如何呢??????? 展开
<table cellpadding="0" cellspacing="0" align="center"> <tr>
<td class="title"><h1><a href="/topview/600010.html" class="stockname">包钢股份</a></h1> <span class="code" value="SH600010">600010</span></td>
<td>功能<br /><a href="#usage" onclick="return showCon()">指标用法</a></td>
<td>资金流向<br /><a href="" )">分时线</a></td>
<td class="td1">上一支股票:<a href="/600009.html" title="上一支股票">上海机场(600009)</a><br />下一支股票:<a href/600011.html" title="下一支股票">华能国际(600011)</a></td> </tr>
</table>
我要截取为
<table cellpadding="0" cellspacing="0" align="center"><tr><td class="title"><h1><a href="/topview/600010.html" class="stockname">包钢股份</a></h1><span class="code" value="SH600010">600010</span></td><td class="td1">上一支股票:<a hrefpview/600009.html" title="上一支股票">上海机场(600009)</a><br />下一支股票:<a href/600011.html" title="下一支股票">华能国际(600011)</a></td></tr>
</table>
php 正则表达式,应该如何呢??????? 展开
展开全部
<?php
$m = "topindex.php?zlId=1-3-10dd-10-10-ZL-d-2";
echo preg_replace("/topindex\.php\?zlId=(\w*)-(\w*)-(\w*)-(\w*)-(\w*)-(\w*)-(\w*)-(\w*)/","topindex.php?zlId=$1&cdhId=$1&dhId=$3&zhId=$4&shId=$5&field=$6&sort=$7&page=$8",$m);
?>
问题补充: 你的描述很不清楚:但是可以转换成你要的那种
<?php
$str='<table cellpadding="0" cellspacing="0" align="center">
<tr>
<td class="title">
<h1><a href="/topview/600010.html" class="stockname">包钢股份</a></h1>
<span class="code" value="SH600010">600010</span>
</td>
<td>
功能<br /><a href="#usage" onclick="return showCon()">指标用法</a>
</td>
<td>资金流向<br /><a href="" )">分时线</a></td>
<td class="td1">
上一支股票:<a href="/600009.html" title="上一支股票">上海机场(600009)</a><br />
下一支股票:<a href/600011.html" title="下一支股票">华能国际(600011)</a>
</td>
</tr>
</table>
';
echo preg_replace("/<td>.*功能.*<td.*>.*<\/td>/isU","",$str);
?>
$m = "topindex.php?zlId=1-3-10dd-10-10-ZL-d-2";
echo preg_replace("/topindex\.php\?zlId=(\w*)-(\w*)-(\w*)-(\w*)-(\w*)-(\w*)-(\w*)-(\w*)/","topindex.php?zlId=$1&cdhId=$1&dhId=$3&zhId=$4&shId=$5&field=$6&sort=$7&page=$8",$m);
?>
问题补充: 你的描述很不清楚:但是可以转换成你要的那种
<?php
$str='<table cellpadding="0" cellspacing="0" align="center">
<tr>
<td class="title">
<h1><a href="/topview/600010.html" class="stockname">包钢股份</a></h1>
<span class="code" value="SH600010">600010</span>
</td>
<td>
功能<br /><a href="#usage" onclick="return showCon()">指标用法</a>
</td>
<td>资金流向<br /><a href="" )">分时线</a></td>
<td class="td1">
上一支股票:<a href="/600009.html" title="上一支股票">上海机场(600009)</a><br />
下一支股票:<a href/600011.html" title="下一支股票">华能国际(600011)</a>
</td>
</tr>
</table>
';
echo preg_replace("/<td>.*功能.*<td.*>.*<\/td>/isU","",$str);
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
TableDI
2024-07-18 广告
2024-07-18 广告
在Excel中,字符串匹配函数主要用于查找和定位特定字符串在文本中的位置或进行替换操作。常用的字符串匹配函数包括FIND、SEARCH、SUBSTITUTE和REPLACE等。FIND和SEARCH函数用于查找字符串的位置,而SUBSTIT...
点击进入详情页
本回答由TableDI提供
展开全部
后面参数字符串替换没有规律可循呢,比如ZL对应的field=CDH
第一个10对应zlId=1,第二个3对应cdhId=10。没什么规律的话直接替换好点吧?我觉得啊
或者能再多点例子也好
第一个10对应zlId=1,第二个3对应cdhId=10。没什么规律的话直接替换好点吧?我觉得啊
或者能再多点例子也好
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以这样做!
<?php
$str1="topindex.php?zlId=10-3-10-10-10-ZL-d-2";
$str2="?zlId=1&cdhId=10&dhId=1&zhId=1&shId=1&field=CDH&sort=d&page=2";
echo preg_replace('/(?=\?)(.*)/',$str2,$str1);
?>
即使你后面的参数是通过程序生成的也可以通过设置变量来解决!
祝你成功!
<?php
$str1="topindex.php?zlId=10-3-10-10-10-ZL-d-2";
$str2="?zlId=1&cdhId=10&dhId=1&zhId=1&shId=1&field=CDH&sort=d&page=2";
echo preg_replace('/(?=\?)(.*)/',$str2,$str1);
?>
即使你后面的参数是通过程序生成的也可以通过设置变量来解决!
祝你成功!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询