PHP str_replace-过滤并从数组中删除2个单词?
我在数组$phone中保存了一个值,希望删除“Tel.”和“-”。$phone的原始值是“Tel.+47-87654321”,我希望它是“+4787654321” 到目前为止,我已经编写了以下代码:PHP str_replace-过滤并从数组中删除2个单词?,php,Php,我在数组$phone中保存了一个值,希望删除“Tel.”和“-”。$phone的原始值是“Tel.+47-87654321”,我希望它是“+4787654321” 到目前为止,我已经编写了以下代码: $phone = Tel. +47 - 87654321; echo "<br />" . str_replace("Tel. ","",($phone->textContent) . str_replace(" - ","",$phone->textContent));
$phone = Tel. +47 - 87654321;
echo "<br />"
. str_replace("Tel. ","",($phone->textContent)
. str_replace(" - ","",$phone->textContent));
$phone=电话+47-87654321;
回声“
”
. str_replace(“电话”),($phone->textContent)
.str_replace(“-”,“,$phone->textContent”);
这导致:
+47-87654321+4787654321
如何避免打印(回显)此代码的第一部分?这是更好的方法吗
对我有效:
echo "<br />" . str_replace(array("Tel. ", " - "), "", $phone->textContent);
echo“
”。str_replace(数组(“电话”,“-”,“,$phone->textContent”);
不要连接两个函数的结果,因为它们在更改后返回整个字符串
而是在下次通话中更改它
$string = str_replace("Tel. ", "", $phone->textContent);
$string = str_replace(" - ", "", $string);
或者将项目数组传递给str\u replace()
将中间结果分配给变量。尝试:
$temp = str_replace("Tel. ","",($phone->textContent);
echo "<br />". str_replace(" - ","",$temp));
$temp=str_replace(“电话”)、($phone->textContent);
echo“
”。str_replace(“-”,“,$temp”);
将输出:
+47 - 87654321
说明:它使用正则表达式将字符串分为两组:
+
前面的所有字符(使用前瞻)+
后面的任何内容,包括+
echo preg_replace ("/^(.*)(?=\\+)(.*)$/", "$2", "Tel. +47 - 87654321" )
+47 - 87654321