问个简单的问题吧
时间:2011-10-25
来源:互联网

PHP code
$t = 'C,D,E,F,G,A,B,O,X,Y,Z'; $r = ' BOLD '; // 怎么把 $t 中的B与D与O换成 $r ? // 即是: C, BOLD ,E,F,G,A, BOLD , BOLD ,X,Y,Z // 有啥好方法?
作者: ci1699 发布时间: 2011-10-25
作者: heyli 发布时间: 2011-10-25
echo preg_replace('/[B|D|O]/',$r,$t);
作者: ci1699 发布时间: 2011-10-25
作者: yangball 发布时间: 2011-10-25
// 怎么把 $t 中的B与D与O换成 <b ="BOLD">?</b>
// 即是: C, <b ="BOLD">D</b> ,E,F,G,A, <b ="BOLD">B</b> , <b ="BOLD">O</b> ,X,Y,Z
像这样的吧。
作者: ci1699 发布时间: 2011-10-25
echo str_replace(array('B','D','O'), $r, $t);
作者: ci1699 发布时间: 2011-10-25
$t = 'C,D,E,F,G,A,B,O,X,Y,Z'; $r = ' BOLD'; $temp=explode(",",$t); foreach ($temp as $k=>$v) { if(in_array($v,array("B","D","O"))) { $temp[$k]=$r; } } print_r(join(",",$temp));
作者: TottyAndBaty 发布时间: 2011-10-25
这C,D,E,F,G,A,B,O,X,Y,Z不一定是,号分隔着的。
可能一大串没规律的字符。
PHP code
$t = 'C,D,E,F,G,A,B,O,X,Y,Z';
$r = ' BOLD';
$temp=explode(",",$t);
foreach ($temp as $k=>$v)
{
if(in_array($v,array("B","D","O")))
{
$temp[$k]=$r;
}
}
print_r(join(","……
作者: ci1699 发布时间: 2011-10-25
echo preg_replace('/[B|D|O]/','<b ="BOLD">$0</b>',$t);
作者: jordan102 发布时间: 2011-10-25
怎么写
正则不太会了。
作者: ci1699 发布时间: 2011-10-25
难道你要替换的不止这三个?
作者: jordan102 发布时间: 2011-10-25

作者: ZT_King 发布时间: 2011-10-25
PHP code
$str = <<<HTML C, <b ="BOLD">D</b> ,E,F,G,A, <b ="BOLD">B</b> , <b ="BOLD">O</b> ,X,Y,Z HTML; $r = 'BOLD'; echo preg_replace('/(<b *= *"BOLD">)\w+(<\/b>)/isU', "$1$r$2", $str);
作者: ohmygirl 发布时间: 2011-10-25
$html = <<<HTML C,D,E,F,G,A,B,O,X,Y,Z,d,ssdd,b,sdsss,o,sdfs,o HTML; $keyword = '[B|D|O]'; $pat = sprintf('/(.*?%s.*?)/is',$keyword); $t = preg_replace_callback($pat, 'foo', $html); function foo($matches){ global $keyword; array_shift($matches); $t = array_splice($matches, 1,1); $ret = preg_replace("/($keyword)/i", "<a href='#'>$1</a>", $matches); array_splice($ret, 1,0,$t); return implode('', $ret); } echo $t;
作者: ZT_King 发布时间: 2011-10-25
问题是这样的。就像百度搜索的结果一样。会把你搜索关键了加红显示。
所以没有什么要固定的替换字符答啊。可能是中文英文符号等.........
我现在替换就有点点问题。
就是替换后的字符又有查找的字符的话就有问题了。
比如
查找: 中国em
BBBb中国美国em英国
得替换成:
BBBb<em>中国</em>美国<em>em</em>英国
弄不了的话。我结贴算了。做个判断em就不加红了。
作者: ci1699 发布时间: 2011-10-25
$html = <<<HTML BBBb中国美国em英国 HTML; $keyword = '中国|em'; $pat = sprintf('/(.*?%s.*?)/uis',$keyword); $t = preg_replace_callback($pat, 'foo', $html); function foo($matches){ global $keyword; array_shift($matches); $t = array_splice($matches, 1,1); $ret = preg_replace("/($keyword)/ui", "<em>$1</em>", $matches); array_splice($ret, 1,0,$t); return implode('', $ret); } echo $t; /** BBBb<em>中国</em>美国<em>em</em>英国 */
满足不了你?
作者: ZT_King 发布时间: 2011-10-25
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28