发布网友 发布时间:2022-04-06 00:33
共4个回答
懂视网 时间:2022-04-06 04:54
在php中可以使用正则表达式“preg_replace ( $pattern , $replacement , $subject , $limit , $count)”实现查找替换。
推荐:《PHP视频教程》
php 正则搜索和替换 preg_replace
preg_replace — 执行一个正则表达式的搜索和替换
方法说明:
preg_replace ( $pattern , $replacement , $subject , $limit , $count)
搜索subject中匹配pattern的部分, 以replacement进行替换。
$limit , $count 参数可有可无
limit : 每个模式在每个subject上进行替换的最大次数。默认是 -1(无限)。
count : 如果指定,将会被填充为完成的替换次数。
返回值 :
如果subject是一个数组, preg_replace()返回一个数组, 其他情况下返回一个字符串。
如果匹配被查找到,替换后的subject被返回,其他情况下 返回没有改变的 subject。如果发生错误,返回 NULL 。
实例1:
<?php $PIWIK_API = 'filter_offset={offset}&period={period}&date={date}'; $patterns = array( '/{offset}/', '/{period}/', '/{date}/' ); $replacements = array( 33, 'day', '216-11-11' ); $url = preg_replace($patterns, $replacements, $PIWIK_API); //结果: $url = "filter_offset=33&period=day&date=216-11-11"
实例2:
<?php $PIWIK_API = array( 'filter_offset' => '{offset}', 'period' => '{period}', 'date' => '{date}' ); $patterns = array( '/{offset}/', '/{period}/', '/{date}/' ); $replacements = array( 33, 'day', '216-11-11' ); $url = preg_replace($patterns, $replacements, $PIWIK_API); //结果: /* $url = array(3) { ["filter_offset"]=> string(2) "33" ["period"]=> string(3) "day" ["date"]=> string(9) "216-11-11" } */
热心网友 时间:2022-04-06 02:02
先查询出表a中question_detial字段,再通过php正则匹配获取标签[attach]1[/attach]中的ID,通过该ID查询表b,获取到file_location字段,然后通过php(str_replace)替换掉question_detial中的标签[attach]1[/attach]
$sql = 'select * from `表A` where 条件';追问大神,您的这个方法为什么只能替换一张图片,对于多张图片的只替换最后一张
追答$sql_b = "select file_location from `表B` where id=".$key;
这行代码写错了,应该是
$sql_b = "select file_location from `表B` where id=".$val;
答案已经改过来了
热心网友 时间:2022-04-06 03:20
先查询出表a中question_detial字段,再通过php正则匹配获取标签[attach]1[/attach]中的ID,通过该ID查询表b,获取到file_location字段,然后通过php(str_replace)替换掉question_detial中的标签[attach]1[/attach]
热心网友 时间:2022-04-06 04:55
太难了