如何用php替换数组中所有项目的其他字符串的子字符串?我不想使用循环来做到这一点.在PHP中有预定义的功能吗?
编辑:谢谢你的回复,还有一个问题,我怎么能在数组的键上做到这一点?
我想在数组中的所有项目中进行字符串替换.我有的是:
$row['c1'] = str_replace("&", "&", $row['c1']);
$row['c2'] = str_replace("&", "&", $row['c2']);
$row['c3'] = str_replace("&", "&", $row['c3']);
$row['c4'] = str_replace("&", "&", $row['c4']);
$row['c5'] = str_replace("&", "&", $row['c5']);
$row['c6'] = str_replace("&", "&", $row['c6']);
$row['c7'] = str_replace("&", "&", $row['c7']);
$row['c8'] = str_replace("&", "&", $row['c8']);
$row['c9'] = str_replace("&", "&", $row['c9']);
$row['c10'] = str_replace("&", "&", $row['c10']);
Run Code Online (Sandbox Code Playgroud)
如何用更少的代码实现这一目标?我认为foreach声明可行,例如:
$columns = array($row['c1'], $row['c2'], $row['c3'], $row['c4'], $row['c5'], $row['c6'], $row['c7'], $row['c8'], $row['c9'], $row['c10']);
foreach ( $columns as $value){
$value = str_replace("&", "&", $value);
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我正在循环一个表格中的标题,所以它基本上就是这些方面的东西.
foreach($c as $row){
echo string_shorten($row['title']);
}
Run Code Online (Sandbox Code Playgroud)
我正在做的是尝试是一个switch语句,它可以在我想要搜索的内容之间切换,一旦发现它将替换为我在str_replace中选择的内容:
function string_shorten($text){
switch(strpos($text, $pos) !== false){
case "Hi":
return str_replace('Hi','Hello', $text);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
任何建议或可能的替代方案将不胜感激.感觉就像我真的很亲密但并不完全.
我需要搜索一个字符串并编辑它的格式.
到目前为止,我可以替换第一次出现的字符串,但是我无法在下一次出现此字符串时这样做.
这就是我的工作,有点像:
if(chartDataString.find("*A") == string::npos){ return;}
else{chartDataString.replace(chartDataString.find("*A"), 3,"[A]\n");}
Run Code Online (Sandbox Code Playgroud)
如果找不到字符串,则根本不打印任何内容,因此不好.
我知道我需要遍历整个字符串chartDataString并替换所有出现的事件.我知道有很多类似的帖子,但我不明白(像这样用另一个子串C++替换子串)
我也尝试过这样的事情来循环遍历字符串:
string toSearch = chartDataString;
string toFind = "*A:";
for (int i = 0; i<toSearch.length() - toFind.length(); i++){
if(toSearch.substr(i, toFind.length()) == toFind){
chartDataString.replace(chartDataString.find(toFind), 3, "[A]\n");
}
}
Run Code Online (Sandbox Code Playgroud)
编辑考虑到建议,这在理论上应该有效,但我不知道为什么不这样做
size_t startPos=0;
string myString = "*A";
while(string::npos != (startPos = chartDataString.find(myString, startPos))){
chartDataString.replace(chartDataString.find(myString, startPos), 3, "*A\n");
startPos = startPos + myString.length();
}
Run Code Online (Sandbox Code Playgroud) 因此,当我运行json_encode时,它会从MySQL获取\ r \n.我试过在数据库中重写字符串无济于事.我已经尝试将MySQL中的编码从默认的latin1_swedish_ci更改为ascii_bin和utf8_bin.我做了很多str_replace和chr(10),chr(13)的东西.我不知道还能说什么或做什么我会在这里留下......
$json = json_encode($new);
if(isset($_GET['pretty'])) {
echo str_replace("\/", "/", jsonReadable(parse($json)));
} else {
$json = str_replace("\/", "/", $json);
echo parse($json);
}
Run Code Online (Sandbox Code Playgroud)
jsonReadable函数来自此处,解析函数来自此处.已经存在的str_replaces是因为我得到了奇怪的格式化html标签,如</ h1>.最后,$ new是一个上面精心制作的数组.完整代码可应要求提供
帮帮我StackOverflow.你是我唯一的希望
嗨,我得到一个PHP字符串,我需要删除空格.我使用了以下代码,但是当我回显$classname它时,只显示仍然包含空格的字符串.
<?php
$fieldname = the_sub_field('venue_title');
$classname = str_replace(' ', '', $fieldname);
echo $classname;
?>
Run Code Online (Sandbox Code Playgroud) 我们如何从相同的字符串中删除美元符号($)和所有逗号(,)?避免使用正则表达式会更好吗?
String liveprice = "$123,456.78";
Run Code Online (Sandbox Code Playgroud) 码
$s1clean = 'ALIEN - FILM - MOVIE – PSP – Sony - Boxed & Complete';
echo $s1clean;
echo "<br><br>";
// Remove dash
$s1clean = str_replace('-', '', $s1clean);
// Remove em dash
$em_dash = html_entity_decode('–', ENT_COMPAT, 'UTF-8');
$s1clean = str_replace($em_dash, '', $s1clean);
$em_dash2 = html_entity_decode('—', ENT_COMPAT, 'UTF-8');
$s1clean = str_replace($em_dash2, '', $s1clean);
$s1clean = str_replace('\u2014', '', $s1clean);
echo $s1clean;
echo "<br><br>";
Run Code Online (Sandbox Code Playgroud)
产量
"外国电影电影 - PSP - 索尼盒装和完整"
如何删除此字符?
嗨我的数据中有以下字符串,并希望将A1-A9替换为A01-A09,将B1-B9替换为B01-B09,但保留数字>=10.
rep_data=data.frame(Str= c("A1B10", "A2B3", "A11B1", "A5B10"))
Str
1 A1B10
2 A2B3
3 A11B1
4 A5B10
Run Code Online (Sandbox Code Playgroud)
这里有一个类似的帖子,但我的问题有点不同!并且在这里str_replace没有看到类似的例子.
如果您知道解决方案,将会非常高兴.
预期产出
Str
1 A01B10
2 A02B03
3 A11B01
4 A05B10
Run Code Online (Sandbox Code Playgroud) 我试图在R中使用正则表达式来删除文本 - "X"或"X". - 从一个数字的前面.我是正则表达式的新手,并且很难让它工作.我尝试了X和的每个组合.有或没有我能想到的逃脱角色,包括:
str_replace("X.4.89294e-05", "X.",'')结果"4.89294e-05"但str_replace("X4.89294e-05", "X.",'')结果失败".89294e-05"str_replace("X.4.89294e-05", "[X.]",'') 结果 ".4.89294e-05"str_replace("X.4.89294e-05", "[X/.?]",'') 结果 ".4.89294e-05"str_replace("X.4.89294e-05", "[X//.?]",'') 结果 ".4.89294e-05"str_replace('X.4.89294e-0','X/.{0,1}','') 结果 "X.4.89294e-0"str_replace('X.4.89294e-0','[X/.{0,1}]','') 结果 ".4.89294e-0"任何帮助将不胜感激.